如何撤消上次添加迁移命令?

时间:2014-01-23 15:13:38

标签: entity-framework entity-framework-5 ef-migrations

我已使用Add-Migration命令创建了迁移,但我想更改该迁移的名称。如何撤消迁移命令,以便我可以使用新的所需名称重新生成它?

是否只是删除生成的文件,或者这可能是一个坏主意?

7 个答案:

答案 0 :(得分:110)

如果您还没有使用Update-Database,则可以删除迁移文件。如果您运行更新,则应使用Update-Database -TargetMigration "NameOfPreviousMigration"将其回滚,然后删除迁移文件。

参考:

http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/

答案 1 :(得分:12)

如果尚未使用Update-Database执行迁移,则可以使用相同的名称再次运行Add-Migration(可能需要使用-Force)来重新执行脚手架。这在Add-Migration命令的输出中记录。

答案 2 :(得分:4)

使用EntityFrameworkCore 2.0来模型快照。您需要运行remove migration命令才能更新模型快照。我已经读过,如果您手动删除迁移,EF Core会识别任何更新并为您恢复快照,但这对我没用。

https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet#dotnet-ef-migrations-remove

答案 3 :(得分:3)

只需使用命令

Remove-migration

它将删除最后添加的迁移并更新快照。它不会影响数据库,因此您必须首先回滚db。

答案 4 :(得分:1)

通过此命令更新上一次完美的迁移:

Update-Database –TargetMigration

答案 5 :(得分:0)

要添加@Ben的答案,当使用dotnet ef命令变种时,这是您需要的删除命令:

dotnet ef migrations remove

这将删除您上次迁移并更新模型快照。

答案 6 :(得分:0)

只需使用命令:

Update-Database nameMigration -context nameContext

然后

Remove-migration -Context nameContext