持续部署和数据库



在连续部署中,您有时会逐渐升级服务器,例如20个中的2个会使用新代码,直到我们确信一切正常。如果新代码需要数据库架构迁移,会发生什么,例如现场电话现在是表电话。除非我要升级所有20台服务器,否则就会出现故障。

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

您临时复制数据,使其同时位于旧位置和新位置。旧查询必须工作,新查询也必须工作。您可以在测试环境中进行自动化测试来验证这一点。一旦所有服务器都移到新版本,您就可以执行"契约",删除"旧"样式的数据。

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

最新更新