【问题标题】:Azure Entity Framework Code First Migration after reactivation of subscription重新激活订阅后的 Azure Entity Framework Code First Migration
【发布时间】:2017-03-25 02:47:19
【问题描述】:

美好的一天...

我在 Azure 中有一个 Web 应用程序和 SQL Server 数据库,它运行良好,从一开始就设计为使用 Code First EF 6.1.3 和 Azure。

Microsoft 最近停用了我的 Azure 帐户,但我让他们重新激活了它。

但在重新激活后,在首次加载应用程序时,它会再次尝试运行 Code First 迁移。所有的表都还在数据库中,包括 MigrationHistory 表,所以我无法弄清楚它为什么要再次尝试运行所有迁移。

它中断的表是 AspNetRoles,它位于 MigrationHistory 表中列出的第一个迁移文件中。

我需要做些什么才能看到它们已经被应用?

谢谢!

【问题讨论】:

  • 如果问题可以在具有本地数据库访问权限的调试器下重现,您是否检查了本地数据库副本?
  • 在看到您的建议后,我查看了数据库表以查看是否有任何差异,是否有任何可以调整的地方,但我没有发现任何可以更改的地方。 _MigrationHistory 表上有所有相同的行。我确实在本地更改了其中一个行值,并看到了一个完全不同的错误,但我把它放回去,一切正常。

标签: c# entity-framework azure entity-framework-migrations


【解决方案1】:

问题已解决,但我们无法确定断开连接的原因。我联系了 Microsoft 支持,他们帮助我重新启动并运行。为了恢复系统的功能,并保留现有数据,

我们:

  1. 禁用迁移
  2. 删除了所有迁移证据
  3. 重新启用迁移
  4. 使用 -IgnoreChanges 标志创建了初始迁移
  5. 执行了更新数据库

这使迁移重新同步。

正如向我解释的那样,这基本上是使用数据库优先的 EF 方法,从现在开始我将继续使用代码优先的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多