[英]CodeFirst DB Migrations with Azure
到目前为止,我无法从已配置为自动部署到Azure的Visual Studio联机代码库中进行自动迁移以进行自动迁移。
这里有一个未解决的类似问题: 带有Azure Git部署的EntityFramework自动迁移
我现在的问题是,数据库在本地工作副本和Azure DB之间无法同步,因此,在代码成功部署后,由于数据库没有更新为与新类匹配,因此应用程序不再起作用。
我尝试了几种方法:
Webapi.config已更新,以包括一个迁移器。
var migrator = new DbMigrator(new Configuration()); migrator.Update();
Web.Config更新为包括迁移到最新版本
<add key="MigrateDatabaseToLatestVersion" value="true"/>
迁移配置已更新以启用自动
AutomaticMigrationsEnabled = true;
通过发布管理器直接从Visual Studio发布-这仍然不会在Azure站点上执行数据库更新。 (包括选中选项框以执行迁移)
任何人都可以使它正常工作吗?
编辑:作为部署后的变通方法,我也尝试过此方法,但未成功,但也没有运气。 http://robertgreiner.com/2012/05/using-entity-framework-database-migrations-to-update-a-remote-database/
我发现了我认为是根本原因的代码(明智的代码,实际的根本原因是我是个白痴)。 我已经在web.config中配置了LocalDB Client,所有迁移都针对该DB进行。 注释掉该数据库并允许程序包管理器中的Update-Database命令针对AzureDB运行可以正确更新Azure上的数据库。
我仍然不确定为什么迁移无法正常进行,但是我怀疑这是由于我正在部署的Web.Config文件使用默认数据库设置为Azure不了解的(LocalDB)。
因此,至少在我修复Web.Config设置以将正确的数据库部署到Azure时,这是一种解决方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.