首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的数据库包含在持续集成过程中?

如何将我的数据库包含在持续集成过程中?
EN

Stack Overflow用户
提问于 2009-09-01 07:23:23
回答 1查看 1.6K关注 0票数 2

请原谅,今天是我第一天尝试使用TeamCity设置CI环境。我正在开发一个ASP.NET/Sql Server应用程序,到目前为止一切顺利。MSBuild是我的提供者。

我想知道在集成过程中自动确保将对本地数据库的更改上载到测试服务器时有哪些选项。现在我不太确定是否要按照DBGhost的方向自动同步模式更改,我很乐意将测试服务器上的数据库替换为本地数据库的副本。

我在这里有什么选择?

编辑:进一步的调查表明,RedGate SQL产品可以很好地做到这一点。不过,它们并不便宜。他们有一个很好的关于在持续集成过程中使用他们的产品的白皮书:http://downloads.red-gate.com/HelpPDF/ContinuousIntegrationForDatabasesUsingRedGateSQLTools.pdf

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-01 08:36:08

首先,我认为你的数据库应该包含在你的源码控制策略中。实现这一目标的基本原则已经在K. Scott Allen series中得到了很好的总结。您还可以查看Evolutionary Database Design by Martin Fowler。有关更多实用信息,请查看How should you build your database from source control?的答案。

正如我在my answer中所写的,我维护了两组脚本:一组可以从头开始构建数据库,另一组可以将给定数据库从一个版本升级到最后一个版本。作为CI策略的一部分:

  • CI服务器上的数据库应该使用这些脚本从头开始重建。然后您可以检查您的脚本是否处于工作状态。
  • 在完美的情况下,我应该能够执行从数据库版本N-1到版本N的升级,并将获得的模式与以前数据库的模式进行比较。我仍在努力……应该将
  • 测试数据注入到数据库中,以便执行应用程序的单元测试(您可以为此使用use bcp )。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1361010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档