管理数据库脚本和对数据库进行新开发的选项有哪些:
例如,许多应用程序使用的数据库,并且有许多开发人员使用数据库,保持数据库与最新更改保持同步的最佳选择是什么,部署更改的过程应该是什么投入生产
我看到两个选项:
- Microsoft visual studio 有一个数据库项目,所以所有的数据库 脚本应该添加到项目中,数据库可以重建 来自 Visual Studio
- 从备份中恢复数据库并只将新脚本应用到数据库
还有哪些选择?我如何管理数据库开发,最佳实践是什么?我上面写的选项的优点和缺点是什么?如何维护新的sql脚本?
我明白应该使用源代码控制系统,但是使用数据库脚本并不像使用应用程序那么容易。
我相信这不会是通用的解决方案,但至少我对数据库开发人员如何在贵公司实现它的看法很感兴趣。
最佳答案
Liquibase是恕我直言最好的工具。它的方法极其简单,这也是它运作良好的原因之一。
您可以在网站上阅读它的工作原理,但基本上它会创建和管理一个简单的表,该表存储每个脚本的哈希值以确定它是否已运行脚本。也有 pre- 和 post- sql,你可以绕过条件……它几乎可以做你想要或需要的一切。它还具有 Maven 集成,因此它可以无缝地成为您构建的一部分。
我在一个大型(8 名开发人员)项目中非常成功地使用了它,现在我不会使用任何其他东西。
而且是免费的!
关于mysql - 数据库构建过程管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10096311/