数据库构建过程管理

Ale*_*lov 5 mysql database sql-server oracle database-design

有哪些选项可用于管理数据库脚本并为数据库执行新的开发:

例如,许多应用程序使用的数据库以及许多使用数据库的开发人员,最新的选项是什么,以保持数据库最新的最新更改以及部署更改到生产的过程应该是什么

我看到两个选择:

  1. Microsoft visual studio有一个数据库项目,因此应该在项目中添加所有数据库脚本,并且可以从visual studio重建数据库
  2. 从备份还原数据库并仅将新脚本应用于数据库

还有其他选择吗?如何管理数据库开发,最佳实践是什么?我上面写的选项的优点和缺点是什么?如何维护新的sql脚本?

我理解应该使用源代码控制系统,但是使用DB脚本并不像应用程序那么容易.

我相信它不是通用的解决方案,但至少我对数据库开发人员的意见很有意见,它是如何在贵公司实施的.

Boh*_*ian 3

恕我直言, Liquibase是最好的工具。它的方法非常简单,这也是它如此有效的原因之一。

您可以在网站上了解它的工作原理,但基本上它会创建和管理一个简单的表,该表存储每个脚本的哈希值以确定它是否已运行脚本。还有 pre-sql 和 post-sql,您可以根据条件绕过...它几乎可以完成您想要或需要的所有操作。它还具有 Maven 集成,因此它可以无缝地成为您构建的一部分。

我在一个大型(8 个开发人员)项目中非常成功地使用了它,现在我不会使用其他任何东西。

而且是免费的!