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

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

这只是一个删除生成的文件的问题,还是这可能是一个坏主意?

82453 次浏览

If you haven't used Update-Database you can just delete the migration file. If you've run the update you should roll it back using Update-Database -TargetMigration "NameOfPreviousMigration" then delete the migration file.

Reference:

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

If you haven't executed the migration yet with Update-Database, you can run Add-Migration again with the same name (you may need to use -Force) to re-execute the scaffolding. This is noted in the output of the Add-Migration command.

With EntityFrameworkCore 2.0 comes the model snapshot. You will need to run the remove migration command in order to update the model snapshot. I have read that EF Core will recognize any update and revert the snapshot for you if you manually delete the migration but this has not worked for me.

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

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

To add to @Ben 's answer, when using the dotnet ef command variety this is the remove command you need:

dotnet ef migrations remove

Which will remove your last migration and update the model snapshot.

Just use command

Remove-migration

It will remove last added migration and update snapshot. It will not affect database so you have to rollback db in first place.

Update your last perfect migration via this command :

Update-Database –TargetMigration

Just use command:

Update-Database nameMigration -context nameContext

And Then

Remove-migration -Context nameContext