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

Entity framework migrations 如何在Azure部署插槽中处理数据库回滚?,entity-framework-migrations,azure-web-app-service,Entity Framework Migrations,Azure Web App Service,通过Azure网站部署插槽“插槽设置”的新功能,我们可以将连接字符串和应用程序设置“固定”到特定插槽。我已经设置了两个插槽:生产和暂存,并验证了我可以在它们之间进行交换,并指向正确的数据库。正在使用代码优先迁移自动更新数据库。但是,我不确定在这种情况下,“回滚”将(或应该)如何与数据库一起工作 例如,考虑以下内容: 应用程序v1正在暂存中运行,并指向暂存Db v1 应用程序v1正在生产环境中运行,并指向生产数据库v1 App v2部署到暂存,代码优先迁移将暂存Db更新为Db v2 暂存和生产插

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

例如,考虑以下内容:

  • 应用程序v1正在暂存中运行,并指向暂存Db v1
  • 应用程序v1正在生产环境中运行,并指向生产数据库v1
  • App v2部署到暂存,代码优先迁移将暂存Db更新为Db v2
  • 暂存和生产插槽已交换
  • App v2正在生产中运行,生产数据库更新为db v2
  • appv1正在staging中运行,但指向staging db,它仍然是db v2

有没有办法将登台数据库回滚到v1?如果发生“紧急情况”,我必须再次交换暂存和生产,是否有办法将生产数据库恢复到v1?我知道这可以通过使用更新数据库来完成,但我不清楚如何在Azure网站中尽可能自动地设置它。

我想你回答了自己的问题。除非DBv1上有暂存数据库,否则必须手动更新暂存数据库以执行回滚。我不认为有一种自动化的方法可以做到这一点

这是一个极好的问题。一年后有更好的答案吗?