【问题标题】:Code First Database Migration when swapping Azure Web App交换 Azure Web App 时的 Code First 数据库迁移
【发布时间】:2018-06-06 13:10:46
【问题描述】:

设置:

  • 将插槽设置​​为 DEV 数据库的开发插槽
  • 将槽设置为 PRODUCTION 数据库的生产槽。

我在发布配置文件中启用了“执行代码优先迁移”并发布到 DEV 插槽。 DEV 数据库完美更新。

但是当我的槽交换到 PROD 时,代码优先迁移并没有在 PROD 数据库上执行。

我们有多个客户需要此设置。我希望开发人员将新版本设置到 DEV 插槽上,并且我希望我的项目经理在他们觉得客户准备好接收新版本时进行交换,这样他们就可以立即演示新版本。我不希望他们再做任何额外的操作。

现在我已经做了一个修复,让他们浏览到应用程序中的一个 URL,该 URL 将通过以下代码执行任何丢失的更新:

var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update();

交换槽位时没有触发迁移是正常的吗?

【问题讨论】:

    标签: asp.net-mvc entity-framework azure azure-web-app-service


    【解决方案1】:

    您是否将连接字符串配置为特定于插槽的设置?如果是这样,您的工作进程应该在交换时重新启动。您只需要确保迁移在启动时运行。显然,发布配置文件所做的配置更改导致迁移在启动时运行并没有传播到生产槽中。

    有关选项,请参阅 ASP.NET 博客上的这篇文章:EF Code First Migrations Deployment to an Azure Cloud Service

    【讨论】:

    • 是的,两者都有一个启用了插槽设置的连接字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 2013-04-20
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2020-12-03
    • 2013-03-29
    相关资源
    最近更新 更多