I would like to have a single application that handles all production database changes. Ideally I would like all changes to be scripted and created in a SVN repository. I would like the deployment tool to take a tag name, extract the scripts from the repository and run them on the production database.
Ideally keeping 开发者_Python百科a log of who did what, and if possible, having the ability to have specific users allow/confirm the update to be made?
Is there such a tool off the shelf?
Well we never make any databases changes except through scripts which are all put into Subversion the same as any other code. We deploy the same way any code is deployed. As long as you only create scripts and you save them as files, they are treated just like anything else. And you know who made the change becasue you know who checked it in. Our devs know that no code can be deployed to QA or Prod without a scriopt so we have no trouble getting people to do this. If your devs are making changes through the GUI, make them stop.
精彩评论