英孚核心 2.1。如何恢复迁移“n”步

Ali*_*kau 7 c# entity-framework-core

是否可以在 N 步后还原数据库迁移,例如
“还原 2 次迁移”

我在文档中发现我们可以传递参数“0”,这会将数据库恢复到干净状态。 dotnet ef database update 0

我正在寻找类似的东西: dotnet ef database update -2

我知道,我可以使用迁移的名称来做到这一点。但我发现有时输入一个数字比复制/粘贴迁移名称要容易得多

Viq*_*qas 5

在包管理器控制台中,您可以运行以下命令来回滚数据库中的迁移:

Update-Database NameOfPreviousMigration
Run Code Online (Sandbox Code Playgroud)

然后,要删除迁移,您可以Remove-Migration在 PMC 中运行命令来删除倒数第二个迁移。运行多次以删除迁移,例如运行两次以删除最后 2 个迁移。此命令还将更新您的ModelSnapshot.

  • 问题是如何退后一步,而不是如何确定迁移目标。这对于纠正分支之间错误的数据库迁移状态非常重要,您必须在分支之间切换才能将它们一一还原,否则您将一次还原多个步骤。 (7认同)