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