正在重新同步代码优先实体框架Azure

本文关键字:代码 实体 Azure 框架 同步 新同步 | 更新日期: 2023-09-27 17:58:16

我一直在玩Azure和MVC5/EF6的代码优先迁移,并设法找到了一些我不知道如何解决的问题,如果是生产版的话。

以下是我所做的:

  1. 创建一个名为MyModel、具有一个属性的模型:PropA
  2. 启用迁移并创建了名为Initial的迁移
  3. 发布到Azure-很棒-工作正常
  4. 删除了我的Initial迁移,并向MyModel添加了第二个名为PropB的属性
  5. 创建了一个名为Initial2的新迁移
  6. 已发布到Azure-现在Azure正在崩溃,因为它找不到字段PropB

我试过设置AutomaticMigrationsEnabled = true;,但没有任何区别。

所以我的问题是:如果这是一个生产数据库,并且发生了这种情况,你将如何使Azure数据库恢复同步并迁移更改的模型

正在重新同步代码优先实体框架Azure

在"向上"answers"向下"方法中手动将代码添加到迁移中,以根据需要同步您的代码

在使用SQL比较之前,请确保您在Azure中至少运行了一个"标准"数据库层。如果没有,您将在尝试进行比较时出错。请注意,您可以更改层,执行一些命令,然后在几分钟内将层更改回。

此外,在步骤列表中,在步骤5之后,执行update-database。这将使您的本地数据库同步。接下来,当您发布到Azure时,请确保选择该数据库(连接字符串旁边的下拉列表),然后确保选中execute code-first migrations

干杯