2

在持续部署中,您有时会逐渐升级您的服务器,例如,20 人中有 2 人会使用新代码,直到我们确信一切正常。如果新代码需要数据库模式迁移会发生什么,例如字段 phone 现在是 table Phones。除非我升级所有 20 台服务器,否则某些东西会坏掉。

4

2 回答 2

1

查看扩展/合同数据库模式: http ://exortech.com/blog/2009/02/01/weekly-release-blog-11-zero-downtime-database-deployment/

您临时复制数据,以便事物位于旧位置和新位置。旧查询必须有效,新查询也必须有效。您可以在测试环境中进行自动化测试来验证这一点。一旦所有服务器都移至较新版本,您就可以执行“合同”删除“旧”样式数据。

于 2012-07-23T15:40:37.603 回答
0

我们在我们的应用程序中一直这样做。我们所做的是让应用程序检查它正在使用的数据库的哪个“版本”,然后使方法有条件地工作。基本上,该应用程序将在新旧场景下正常工作。

于 2012-07-23T10:49:57.137 回答