我注意到当我交换暂存和生产插槽时,EF迁移不会在生产槽上运行。
我有一个用于ASP.NET Identity的上下文/数据库,另一个用于我的应用程序数据。 ASP.NET标识上下文使用CreateIfNotExist初始化程序,我可以看到相应的数据库在生产中正确创建。但是,我的应用程序上下文使用随迁移迁移的MigrateDatabaseToLatestVersion初始化程序,当我在Azure上交换环境时,它看起来不会自动触发。
从Visual Studio使用Web Deploy时有一个“执行代码优先迁移”复选框,但可以预料它们只能在我部署应用程序的位置插槽上运行。我需要在交换后在生产环境中执行迁移。我该怎么处理?
答案 0 :(得分:0)
请查看此this answer,其中介绍了如何在Azure上使用代码首次迁移部署。复选框'执行代码优先迁移'操纵web.config文件以更新数据库。但是,当您交换阶段时,不会交换web.config。
您应该使用' App_Start代码'解决方案,然后迁移也将在生产槽上运行。