在 .NET Core 2+ 中将数据库恢复到第一次迁移之前的初始状态?

Kon*_*ten 3 entity-framework entity-framework-core .net-core

我想将我的数据库回滚到整个预状态,即调用Down()所有迁移中的每个方法,包括初始方法。

\n\n

检查此博客,尽管它相当全面,但没有任何提示。有一种方法如下所示(简而言之:Update-Database \xe2\x80\x93TargetMigration: $InitialDatabase),但遗憾的是,它在 Core 中不起作用。

\n\n

目前我的解决方法是离开,drop database但我觉得这会让计算机获胜,我想向它展示谁是老大。(这就是我。)

\n\n

除此之外,谷歌这次似乎让我失望了。我怎么做?

\n

Iva*_*oev 7

您正在查看 EF6 文档。PMC 的 EF Core 文档是带有可选参数的Update-Database,-Migration <String>其语义如下

目标迁移。迁移可以通过名称或 ID 来识别。数字 0 是一种特殊情况,表示在第一次迁移之前,导致所有迁移都被还原。如果未指定迁移,则该命令默认为上次迁移。

和例子

以下示例恢复所有迁移。

Update-Database -Migration 0

很快,传递特殊值0就可以满足您的要求。

.NET Core CLI 命令是dotnet ef 数据库更新, 带有可选参数,用于具有相同语义的迁移名称,例如

dotnet ef database update 0
Run Code Online (Sandbox Code Playgroud)