The best way to manage database changes [closed]

霸气de小男生 提交于 2019-12-21 04:15:18

问题


What is the best way to manage database changes? I need to have a solutions regardless the database client's language. Also I'd like to be able to use specific database features in those changes such as stored procedures, triggers and so on.


回答1:


First of all, make sure you have your entire Database Build scripted so you can rebuild the database if needed.

Each change should then be written as an Update script. That way you can run each change individually against the your databases.

Once the change has been commited to the codebase, merge the change script with the build process so it happens automatically...and then archive the change script in case any questions arise.




回答2:


First and foremost, put all database changes in scripts and put them into the source control system.

Next remove any permissions to production that developers have. Exactly two people should have rights on production in a small to medium shop, the designated dba and his or her designated alternate. Once devs can't make changes to prod, you will find it easier to get them to actually write and use scripts.

Never run a script on prod that wasn't first loaded to QA or staging. If there are issues with the script, it should be found at this point.




回答3:


Use idempotent change scripts (and maybe have a look at LiquiBase or dbdeploy).




回答4:


Not sure what you are asking here, but if it's a good way to manage schema changes, and keeping them in synch between versions and deployments, it's hard to go wrong with Visual Studio Database Edition. It's sole purpose in life is to manage database schema changes, validate the schema, build and generate deployment scripts. If you have Visual Studio Developer Edition or Visual Studio Team Suite, you can get it for free.




回答5:


Well, we are currently using Redgate's toolbelt which contains a Database Compare, Data Compare, etc.

You can also use any source control to track changes to your database objects.




回答6:


In my case, I build a SH script for this work:

https://github.com/reduardo7/db-version-updater

And a MySQL script:

https://github.com/reduardo7/db-version-updater-mysql



来源:https://stackoverflow.com/questions/2231903/the-best-way-to-manage-database-changes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!