【发布时间】:2017-11-21 01:51:56
【问题描述】:
我正在构建一个具有代码优先迁移的 ASP.NET MVC EF 应用程序,并使用 Azure SQL DB 在 Azure 中托管它。我第一次发布这个,它很顺利。但从那以后我的模型发生了变化,我在 Azure DB 中的架构没有得到更新以匹配。部署时,我确实选中了“执行代码优先迁移”。当这不起作用时,我删除了我的数据库,然后在 Azure 门户中重新创建它,认为这会触发它得到更新。但是那没有用,所以我在迁移配置中设置了 AutomaticMigrationsEnabled = True。它仍然不起作用,所以目前我在 Azure 中的数据库没有我的表。如何让 Azure 中的数据库强制更新以匹配我的模型,以便发布的站点可以正常工作?我确实尝试寻找是否有办法将 VS 本地 DB 编写为 Create 查询并在 SQL 管理工作室中执行,但找不到如何做到这一点。
【问题讨论】:
-
您是否尝试在部署后运行该应用程序?那是迁移开始的时候(而不是在部署过程中)。见here。如果需要,您可以使用
update-database -Script生成脚本。 -
部署完成后,VS 会自动启动网站......所以是的,我后来运行了它。起初(在删除数据库之前),它会启动得很好,但是在导航到使用新字段的页面时,我会收到一个错误。我尝试了“update-database -Script”,但这只是给了我一个 _MigrationHistory 的插入查询(这是我在尝试其他所有方法之后看到的唯一添加到数据库中的内容)。
标签: asp.net entity-framework azure-sql-database web-deployment entity-framework-migrations