Azure分阶段部署:实体框架代码优先迁移未执行交换

时间:2015-06-09 15:25:41

标签: c# asp.net-mvc entity-framework azure

我注意到当我交换暂存和生产插槽时,EF迁移不会在生产槽上运行。

我有一个用于ASP.NET Identity的上下文/数据库,另一个用于我的应用程序数据。 ASP.NET标识上下文使用CreateIfNotExist初始化程序,我可以看到相应的数据库在生产中正确创建。但是,我的应用程序上下文使用随迁移迁移的MigrateDatabaseToLatestVersion初始化程序,当我在Azure上交换环境时,它看起来不会自动触发。

从Visual Studio使用Web Deploy时有一个“执行代码优先迁移”复选框,但可以预料它们只能在我部署应用程序的位置插槽上运行。我需要在交换后在生产环境中执行迁移。我该怎么处理?

1 个答案:

答案 0 :(得分:0)

请查看此this answer,其中介绍了如何在Azure上使用代码首次迁移部署。复选框'执行代码优先迁移'操纵web.config文件以更新数据库。但是,当您交换阶段时,不会交换web.config。

您应该使用' App_Start代码'解决方案,然后迁移也将在生产槽上运行。