在持续部署中,您有时会逐步升级您的服务器,例如20个中的2个将使用新代码,直到我们确信一切正常。如果新代码需要数据库模式迁移,例如,将会发生什么。现场手机现在是电话。除非我升级所有20台服务器,否则会有所破坏。
答案 0 :(得分:1)
查看扩展/合同数据库模式: http://exortech.com/blog/2009/02/01/weekly-release-blog-11-zero-downtime-database-deployment/
您暂时复制数据,以便旧位和新位置都有。旧查询必须正常工作,新查询也必须正常工作。您可以在测试环境中进行自动化测试以验证这一点。一旦所有服务器移动到较新版本,您执行“合同”删除“旧”样式数据。
答案 1 :(得分:0)
我们一直在申请中这样做。我们所做的是让应用程序检查它正在使用的数据库的“版本”,然后使方法有条件地工作。基本上,应用程序将适用于新旧方案。