将迁移与实际更改同步
Sync migrations with actual changes
EF 迁移无法自动检测到一些复杂的更改,因此我创建了一个空迁移并手动对 Up()
和 Down()
进行了更改。
我更新了数据库,一切都在正向和反向方向上工作。
但后来,当我进行更多更改并创建新迁移时,它会自动添加各种不需要的更改 - 因为我已经在之前的迁移中手动处理了它们.
我知道我可以删除所有迁移并从头开始,但这会产生太多问题,所以我不想那样做。
我该如何解决这个问题?
从 Up()
和 Down()
函数中删除有问题的垃圾
编译
Update-Database
如果您没有之前发布的数据库,您始终可以建立新的基线。然后删除所有旧迁移 运行:
Add-Migration MyBaseline –IgnoreChanges
Update-Database
现在您的模型和数据库将同步,您可以更改模型并创建新的迁移。我通常会打开自动迁移,直到我准备好部署,然后我将它们滚动到一个单一的迁移中,我可以编写脚本给客户。
EF 迁移无法自动检测到一些复杂的更改,因此我创建了一个空迁移并手动对 Up()
和 Down()
进行了更改。
我更新了数据库,一切都在正向和反向方向上工作。
但后来,当我进行更多更改并创建新迁移时,它会自动添加各种不需要的更改 - 因为我已经在之前的迁移中手动处理了它们.
我知道我可以删除所有迁移并从头开始,但这会产生太多问题,所以我不想那样做。
我该如何解决这个问题?
从 Up()
和 Down()
函数中删除有问题的垃圾
编译
Update-Database
如果您没有之前发布的数据库,您始终可以建立新的基线。然后删除所有旧迁移 运行:
Add-Migration MyBaseline –IgnoreChanges
Update-Database
现在您的模型和数据库将同步,您可以更改模型并创建新的迁移。我通常会打开自动迁移,直到我准备好部署,然后我将它们滚动到一个单一的迁移中,我可以编写脚本给客户。