我注意到,当我交换暂存槽和生产槽时,EF 迁移不会在生产槽上运行。
我有一个用于 ASP.NET Identity 的上下文/数据库,另一个用于我的应用程序数据。 ASP.NET Identity 上下文使用 CreateIfNotExist 初始值设定项,我可以看到相应的数据库在生产中正确创建。但是,我的应用程序上下文使用迁移附带的 MigrateDatabaseToLatestVersion 初始值设定项,并且当我在 Azure 上交换环境时,它似乎不会自动触发。
在 Visual Studio 中使用 Web 部署时,有一个“执行代码优先迁移”复选框,但正如预期的那样,它们仅在我部署应用程序的指定插槽上运行。我还需要在交换后在生产环境上执行迁移。我该如何处理?
最佳答案
请看一下这个MSDN Blog Post其中介绍了如何在 Azure 上使用代码优先迁移部署。 “执行代码优先迁移”复选框可操作 web.config 文件来更新数据库。但是,当您交换阶段时,web.config 不会交换。
您应该使用“App_Start code”解决方案,然后迁移也将在生产槽上运行。
关于c# - Azure 分阶段部署 : Entity Framework Code First Migrations not executed of swap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736385/