我正在寻找一种方法来自动生成数据库的更改脚本。
目前我们使用 Visual Studio 2008 数据库版本,它具有架构比较选项,但我没有找到自动化这些操作的方法。
我想做的是在日常构建期间创建一个旧的和一个新的数据库,并让模式比较为这两者之间的差异生成一个更改脚本。 (架构和过程的差异,可以删除并重新创建查找表,不会出现问题)
有谁知道解决方案,或者我是否要编写大量脚本来实现此目的?
这里不可以使用除 Microsoft 工具之外的任何付费产品...
根据反馈进行更新:
- 我拥有不同大小的各种数据库,但所有更改都将以受控方式发生,同时了解已存在的数据。
- 只有“简单”的更改才应该自动处理,我正在考虑添加列和表(很常见)。列可能永远不会被删除(因此如果发生这种情况,工具/脚本可能会抗议)
最佳答案
与 @Anton Gogolev 所做的类似,我们正在使用一种工具,允许您在 XML 文件中编写迁移。我们使用的工具叫做Liquibase并且它支持许多不同的 DBMS 风格。我们不仅在开发人员模式内部使用它,还在客户运行的升级安装期间在外部使用它。
关于sql-server - 自动生成数据库更改脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253132/