0

我在 K. Scott Allen 的博客和Paul M. Duvall的“持续集成,提高软件质量和降低风险”一书中阅读了很多关于 CI 和数据库的内容。但是我仍然对数据库中的数据有几个问题:

如果我以应该重建数据库的方式更改我的数据库怎么办。在这种情况下,我可以从我的 VCS 运行我的所有创建/删除/更改脚本,并且我的数据库将启动并运行。除了我的数据。开发和测试环境有比较简单的解决方案,但是我的QA和生产环境大不了。如何处理我的部署中的数据?

有没有人有这方面的经验或者有没有人有关于这个的好博客文章?

4

1 回答 1

0

首先我必须说我没有读过这本书,因此我不知道包含的自动化代码和该代码涵盖的任务/案例。

我不太确定您如何定义数据库重建的必要性。

常见的情况是在开发中更改数据库模式并将其同步到其他环境(通常使用实用程序)。更改还可能涉及包含数据的新表(即新查找表)的存在,需要数据同步。如果一切开发和测试都很好,并且同步准确,那么 QA 和生产环境就没有问题。但是最好有一个回滚解决方案(这是第一个应该测试的)。

很少(?)对数据库的更改需要内部数据迁移。这是一个完全不同的情况,有一个强制性的回滚计划。根据我的经验,这样的案例会导致严重的停机时间。一个很好的例子是 hays.com(全球招聘);他们在 2011 年(周末)将其国家站点数据库一一更改为所有域都停机的通用模式。

如果我错过了你的观点,请告诉我。

于 2012-06-17T13:20:14.933 回答