How do I undo the last Add-Migration command?

£可爱£侵袭症+ 提交于 2019-11-27 19:51:16

问题


I have created a migration using the Add-Migration command, but I'd like to change the name of that migration. How can I undo the migration command, so that I can regenerate it using the new desired name?

Is it just a matter of deleting the generated files, or this could be a bad idea?


回答1:


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/




回答2:


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.




回答3:


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.




回答4:


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://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




回答5:


Update your last perfect migration via this command :

Update-Database –TargetMigration



回答6:


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.



来源:https://stackoverflow.com/questions/21312103/how-do-i-undo-the-last-add-migration-command

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!