“But these are two unconnected processes. There are a lot of pitfalls. You might not have taken the latest revision from the version control. So you run something old in your database, you reach some working state, but when you check it in, you’ve overwritten somebody else’s changes. You might have extracted the changes but not put it in the database, or make everything run perfectly in the database but forgot either to extract the right script or check it back into the version-control system. This is essentially a non-enforced process… Two developers taking out a procedure, one edits the function, one edits something at the end, the first one puts it back into the database and the second one puts it in the database, and it overwrites the previous one’s changes, and no one even knows if it got lost.”

David Rubinstein is editor-in-chief of SD Times.