如何在Azure部署插槽中处理数据库回滚?

时间:2015-02-20 23:18:49

标签: ef-migrations azure-web-sites

借助Azure网站部署插槽的新功能' "插槽设置",我们可以' pin'连接字符串和应用程序设置到特定插槽。我已经设置了两个插槽:生产和暂存,并验证我可以在它们之间交换并指向正确的数据库。使用代码优先迁移自动更新数据库。但是,我不确定一个"回滚"在这种情况下会(或应该)使用数据库。

例如,请考虑以下事项:

  • App v1正在分段中运行并指向暂存Db v1
  • App v1正在生产中运行并指向生产Db v1
  • App v2部署到登台,Code First Migrations更新登台Db到Db v2
  • 转换暂存和生产槽。
  • App v2正在生产中运行,生产数据库更新为Db v2。
  • App v1正在分段中运行,但是指向了staging db,它仍然是Db v2

有没有办法将登台数据库回滚到v1?如果是紧急情况"发生了,我不得不再次交换升级和生产,有没有办法让生产数据库回到v1?我知道这可以使用Update-Database完成,但目前还不清楚如何在Azure网站中将其设置为尽可能自动化。

1 个答案:

答案 0 :(得分:0)

我想你回答了自己的问题。除非DBv1上有登台数据库,否则您必须手动更新登台数据库才能执行回滚。我认为没有一种自动化的方法。