Harrie Verveer and I worked at Ibuildings together. It was my great privilege to work there during their golden age of talent. (I was obviously just a bystander) That is not to say that they don’t still have some great developers on their teams, however there was a time…but I digress.
Recently Harrie posted a tutorial over on techPortal on Database Version Control. In it he talks about a subject that is the 800 pound gorilla in the room during every roll-out meeting, how do you safely make changes to the database and what happens if things go wrong and you have to roll everything back?
Database version control is something that most developers have to deal with regularly, yet only a few have actually thought about what solution might be best for them. Most people have a solution that sort of works for them, but when you ask them about the subject they are pretty convinced that there must be some better way to manage database changes, they’re just not entirely sure what that solution is – but the silver bullet must be out there somewhere, right?
This article will give you a bit more insight into the theory behind database version control, and gives you several suggestions on how you could deal with the problem. We will look at simple solutions and also take a look at some of the tools available to help.
In any project’s lifecycle, there are times when changes have to be made to the database for a new version to roll into production. Hopefully you and your team have practices the roll forwards and backwards several times before it comes time to roll it live. If you don’t, read this article now. Harrie includes a list of the resources he discusses at the end so you can look through them all and find the right tool for your job. I like that Harrie doesn’t present any specific solution as the solution but recognizes that each situation is different.
Harrie does a great job of explaining the HOW in this article. Honesty, if you don’t understand the WHY, you are in the wrong place to begin with.