Ted*_*erg 8 database deployment azure
我正在尝试实现Azure Web应用程序的零停机部署,其中数据库架构更新需要作为部署的一部分应用.
我有以下设置:
具有production-db连接字符串的生产 Web应用程序.
使用staging-db连接字符串暂存部署槽.
我的伪部署过程类似于:
换句话说,在热交换之后,我希望新代码和更新的数据库都是实时的.
如果此时出现问题,我可以再次交换插槽,使旧的生产应用程序(及其数据库)生效.
据我所知,当我交换插槽时,应用程序将使用生产槽的连接字符串,重新启动应用程序并强制我在更新的代码生效后应用数据库架构更新.
我希望我能正确地描述这一点.:)这似乎应该是一个相当常见的场景?
非常感谢任何帮助或指示!
PS.我在数据库架构更改时查看了Azure无缝升级,但该答案无效,因为我无法在不影响应用程序的情况下应用架构更新.
编辑:只是一个想法:也许我应该跳过将连接字符串作为门户设置,而只是将其保留在web.config中.这样,在交换时,应用程序将不需要重新启动,并且由于web.config将包含在交换中,新的生产槽将使用更新的数据库.
编辑2:我认为当应用程序设置或连接字符串在插槽之间不同时,我错误地认为应用程序重新启动.看来我确实可以为部署插槽设置不同的连接字符串(指向数据库副本),然后在没有重新启动的情况下进行交换,从而影响网站访问者.