Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Database change management tools? [closed]

We are currently in the process of solidifying a database change management process. We run MySql 5 running on RedHat 5. I have selected LiquiBase as the tool because it's open source and allows us to expand its functionality later if needed. It also seems to be one of the few free projects that are still active. Has anyone here had any experience using LiquiBase or other Db versioning tools?

Company Background: We are an SaaS company providing a 7/24 hosted application. There are dozens of instances running different versions of the same database and we need a way to manage the deploy process as it's starting to get out of control. The databases have hundreds of tables and we typically do releases once every 3 months.

like image 364
Hawk Kroeger Avatar asked Mar 03 '09 19:03

Hawk Kroeger


2 Answers

I may be biased since I started LiquiBase, but I have been using it in production environments for several years and there have been many, many times where releases would have been a nightmare without it. LiquiBase has evolved to be very flexible and powerful and I have not ran into a situation that it was not able to handle (in one way or another) for quite some time.

The last code release contained of a project I am working on using LiquiBase contained a major database refactoring with hundreds of database changes and needed to be applied to a variety of installations that had different starting points for the database. When we did the release, the databases updated without any problems.

like image 170
Nathan Voxland Avatar answered Oct 06 '22 01:10

Nathan Voxland


Doctrine, a PHP ORM/DBAL offers Migrations, doing what you want.

The Doctrine migration package allows you to easily update your production databases through a nice programmatic interface. The changes are done in a way so that your database is versioned and you can walk backwards and forwards through the database versions.

like image 23
Karsten Avatar answered Oct 06 '22 00:10

Karsten