Going Agile: Sqitch Database Change Management
You have your database scripts under a dedicated version control and change management system, right? If not, I recommend doing this now.While there have been handful of open source projects around which focus on DB script versioning and change management control, none has really gained a big momentum and a lot of them are dormant. But there is a new player on the ground! A light at the end of the db change management tunnel - so to speak. David Wheeler has been working on Sqitch over the last year and the results are very promising indeed! Currently the github projects shows 7 other contributors, so let’s hope this project gets a strong momentum! Also a new github project for a Sqitch GUI was just founded.
Why I like Sqitch:- You can run all the commands from the command line and get very good feedback.
- Everything seems quite logical and straightforward: It’s easy to get to know the few main commands and in a very short amount of time you are familiar with the tool.
- You can use your choice of VCS.
- It works very well.
Supported DBs are currently MySQL, Oracle, SQLite and PostgreSQL. CUBRID support is under way.
So what do we want to achieve? So what do we want to achieve?
Bring all DDL, stored procedures etc under version control. This is what Git is very good for (or your choice of CVS).
Keep track of the (order of) changes we applied to the database, verify that they are valid, be able to revert them back to a specific state if required. Furthermore, we want to deploy these changes (up to a specific state) to our test and production databases. This is was Sqitch is intended for:
The below write-up are my notes partially mixed with David’s ones.
You can run all the commands from the command line and get very good feedback.
Everything seems quite logical and straightforward: It’s easy to get to know the few main commands and in a very short amount of time you are familiar with the tool.
You can use your choice of VCS.
It works very well.
So what do we want to achieve? So what do we want to achieve?
Bring all DDL, stored procedures etc under version control. This is what Git is very good for (or your choice of CVS).
Keep track of the (order of) changes we applied to the database, verify that they are valid, be able to revert them back to a specific state if required. Furthermore, we want to deploy these changes (up to a specific state) to our test and production databases. This is was Sqitch is intended for:
Bring all DDL, stored procedures etc under version control. This is what Git is very good for (or your choice of CVS).
Keep track of the (order of) changes we applied to the database, verify that they are valid, be able to revert them back to a specific state if required. Furthermore, we want to deploy these changes (up to a specific state) to our test and production databases. This is was Sqitch is intended for:
0 comments:
Post a Comment