请原谅,今天是我尝试使用TeamCity设置CI环境的第一天。我正在开发一个ASP.NET / SQL Server应用程序,到目前为止一直很好。 MSBuild是我的提供者。
我想知道在自动确保将本地数据库的更改作为集成过程的一部分上载到测试服务器时,选项是什么。现在我不太确定我想朝着DBGhost的方向自动同步架构更改,我很乐意用我本地数据库的副本替换测试服务器上的数据库。
我有什么选择?
编辑:进一步调查显示RedGate SQL产品对此有好处。虽然他们不便宜。他们在持续集成过程中使用他们的产品有一个很好的白皮书:http://downloads.red-gate.com/HelpPDF/ContinuousIntegrationForDatabasesUsingRedGateSQLTools.pdf
答案 0 :(得分:4)
首先,我认为您的数据库应该包含在源控制策略中。实现这一目标的基本原则在K. Scott Allen series中得到了很好的总结。您还可以查看Evolutionary Database Design by Martin Fowler。有关更多实用信息,请查看How should you build your database from source control?的答案。
正如我在my answer中所写的,我维护了两组脚本:一组可以从头开始构建数据库,另一组可以将给定数据库从一个版本升级到最后一个。作为CI战略的一部分: