gpt4 book ai didi

c# - Entity Framework 尝试添加数据库中已有表的迁移

转载 作者:行者123 更新时间:2023-11-30 23:02:40 25 4
gpt4 key购买 nike

当尝试在本地运行 ASP.NET MVC 应用程序时,一切正常。但是一旦我将其部署到 Azure,它就会不断向我显示错误:

Unable to update database to match the current model because there are pending changes and automatic migration is disabled.

因此,我使用 Visual Studio 中的包管理器控制台连接到远程数据库并运行 Update-Database 命令。这给了我同样的错误。当我查看 SQL Server Management Studio 内的数据库时,看起来所有迁移都已应用。

因此,在此之后,我尝试运行 Add-Migration 来查看是否有任何我没有注意到的更改。它创建的迁移与前两个迁移完全相同(其中没有任何内容不属于其中一个迁移)。

到目前为止,该网站运行了大约两周,包括一些迁移。我不知道如何解决这个问题,因此非常感谢您的帮助。

我确信我正在连接到正确的数据库,因为当我将其更新到目标迁移时,我看到它发生了变化。我也瞄准了正确的项目。

最佳答案

如果您确定Add-Migration正在为已应用的更改创建脚本,则需要更新数据库的迁移状态。您可以通过添加空迁移来完成此操作。这将捕获当前模型的状态。

Add-Migration MergeChanges –IgnoreChanges 

运行此命令后,您将得到一个空的迁移脚本。现在您可以更新数据库以匹配模型状态。由于实际迁移不包含任何更改,因此它只会在 __MigrationsHistory 表中添加一行,表明此迁移已被应用。

注意仅当您没有任何挂起的更改但您看到更新数据库的错误消息时才运行此命令。

关于c# - Entity Framework 尝试添加数据库中已有表的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com