Database Version Control Tools

Database Version Control Tools

A couple of years ago I wrote a blog post about Database Versioning and how it was ignored over source code versioning. Originally posted on my other website , it got quite a bit of attention and sparked some very interesting discussion. As a result of the discussions, I got to know quite a bit about database versioning tools. After about two years I thought I would visit the topic again and see what new tools and methods are available for versioning databases. Judging from the speed at which technology moves, I was expecting a very different landscape from where I had left off. To my surprise, there has not been much new developments in this field at all.

Why Database Versioning ?

Versioning your database is different than simply checking in the scripts that make changes to your database to version control. The theory is that every change made to your database, specifically a DDL change but perhaps a DML change too, assigns a version number to your database thus allowing you to roll forward or backwards to a specific version safely. Just like you would with source code. For a full argument read the article above. Such versioning could go hand in hand with your code release or could go out all by itself. This makes changes to your database more manageable, reproducible and portable. Below I have compiled a list of tools that allow you to version your database

Commercial Tools

1) Red Gate

Red Gate Database Lifecycle Management is available for mysql, Oracle, and Azure. It is an integrated tool set that helps with Version Control, Continuous Integration,Release Management and Monitoring of all database changes. Each process can be used individually or can be chained together in your DevOps toolchain. What I like about Red Gate toolkit is their support for and excellent GUI as well as good command line client.

2) DBMaestro

DBMaestro Teamwork is available for Oracle and MSSql. DBMaestro Teamwork positions itself as DevOps for databases with rich feature set which includes and IDE, audit trail, permissions management, object locking prevention etc. DBMaestro will also perform an intelligent 3 way, baseline aware analysis of your database against any code dump you may have to figure out where configuration drift has occurred so you can get your automation under way in the right manner.

You can read the full post here Database Version Control Tools

Ajay Gautam

Software Engineer at OTS.

9 年

Completely agree... anything that can... should be versioned. At my current company, we use a homegrown process - db change files in SVN. A script to bring a db up-to-date with all those change files. The company has built processes around it, and it works pretty well...

要查看或添加评论,请登录

Nilesh Nimkar的更多文章

  • Diagram as Code with Python

    Diagram as Code with Python

    As a Cloud Native Development Architect everything for me usually starts with a diagram. Sometimes I create the diagram…

    3 条评论
  • The Holy Grail called Immutable Infrastructure

    The Holy Grail called Immutable Infrastructure

    it is quite common to fix small problems directly on production servers by directly logging on to them and then back…

    1 条评论
  • Walmart's OneOps: A Closer Look.

    Walmart's OneOps: A Closer Look.

    Walmartlabs recently released OneOps into the wild as an open source project. Walmart's OneOps is a Application…

  • DevOps: An Organic Evolution

    DevOps: An Organic Evolution

    The benefits of DevOps are immense as can be seen here, here, here and many other similar examples. Although many of…

    3 条评论
  • Code Metrics: How good is your code ?

    Code Metrics: How good is your code ?

    Code review and code metrics are two facts of life that a good developer cannot (or should not) escape. Code metrics…

  • Version Control: Branching Models

    Version Control: Branching Models

    A good developer always versions his or her code. And all good version control systems provide means to create branches.

    1 条评论
  • Database Versioning: Using Liquibase

    Database Versioning: Using Liquibase

    Last week I wrote an article about Database Versioning called Database Versioning: The ignored aspect of version…

    1 条评论
  • Database Versioning: The ignored aspect of version control.

    Database Versioning: The ignored aspect of version control.

    Version control is an important aspect of writing code. From the initial check-in to the final build, it is crucial to…

    1 条评论

社区洞察

其他会员也浏览了