救命!我有一个托管在 Azure 上的 MVC4 应用程序。我正在使用 EF 代码优先。这是我的场景:
我在生产数据库中设置了一个标志,以使网站显示“网站已禁用”消息,而不是通常的网站行为。
我向暂存实例发布了网站代码更新。当我运行临时实例时,它对数据库架构应用了一些迁移。此时,如果我重新启用生产实例,它将无法工作,因为数据库架构与生产代码不兼容
当我测试暂存实例时,我发现它无法正常工作。
现在我意识到我不知道如何取消我应用的 EF 迁移,以便我可以重新启用生产实例并返回到运行之前的位置暂存实例。我知道如何使用 Visual Studio 中的包管理器控制台转到本地数据库中的特定迁移,但我不知道如何手动告诉 Azure 将数据库更新到特定迁移。
最佳答案
导航到 Azure 门户上的数据库仪表板,然后选择“显示连接字符串”。将 ADO.NET 字符串复制到 Update-Database
命令的 -ConnectionString
开关中。你最终应该得到这样的结果:
Update-Database
-TargetMigration {YourMigration}
-ConnectionString "Server=tcp:{your server name}.database.windows.net,1433;
Database={your db};
User ID={your user}@{your server};
Password={your password};
Trusted_Connection=False;
Encrypt=True;
Connection Timeout=30;"
-ConnectionProviderName "System.Data.SqlClient"
关于entity-framework - 如何在 Azure 上回滚 EF 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042754/