Bob*_*lth 5 entity-framework azure azure-sql-database
救命!我在Azure上托管了一个MVC4应用程序.我正在使用EF代码优先.这是我的情景:
我在我的生产数据库中设置了一个标志,以使网站显示"网站已禁用"消息,而不是通常的网站行为.
我向Staging实例发布了网站代码的更新.当我运行登台实例时,它将一些迁移应用于数据库架构.此时,如果因为数据库模式与生产代码不兼容而重新启用它,则生产实例将无法工作
当我测试登台实例时,我发现它无法正常工作.
现在我意识到我不知道如何撤销我应用的EF迁移,以便我可以重新启用Production实例并返回到运行Staging实例之前的状态.我知道如何使用Visual Studio中的程序包管理器控制台转到本地数据库中的特定迁移,但我不知道如何手动告诉Azure将数据库更新到特定的迁移.
Col*_*lin 13
导航到Azure门户上的数据库仪表板,然后选择"显示连接字符串".将ADO.NET字符串复制到命令的-ConnectionString开关中Update-Database.你应该得到这样的东西:
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"
Run Code Online (Sandbox Code Playgroud)
运行一个"Get-Migrations"
它将显示迁移列表。
在那之后:
Update-Database -TargetMigration:"{NAME_OF_SELECTED_MIGRATION}"
Run Code Online (Sandbox Code Playgroud)
其中 {NAME_OF_SELECTED_MIGRATION} 将替换为您想要的名称。PS:删除“{”和“}”字符。
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |