EntityFramework Core 删除迁移


参考资料:
https://www.yoyomooc.com/yoyomooc/52.keeping-domain-models-and-database

EF Core删除迁移的命令是Remove-Migration。一次只删除一个迁移,并且仅删除尚未应用到数据库的最新迁移。如果强行删除已经应用到数据库的迁移,会抛出异常。

删除尚未应用到数据库的最新迁移

直接运行Remove-Migration命令即可。

删除已经应用到数据库的迁移

假设我们已经按顺序应用了Migration1、Migration2和Migration3,想要删除Migration2和Migration3。

首先要撤销迁移对数据库造成的更改。即我们需要回滚Migration2和Migration3的更改,再执行迁移Migraiton1,将数据库的状态和当前需要回滚的模型状态搞成一致。实现方法很简单,想要回滚Migration2和Migration3,我们直接执行Update-Database Migration1即可。因为2和3是在1之后应用的,所以执行该指令可以直接撤销2和3的更改。EF Core还会从__EFMigrationsHistory表中删除2和3的迁移记录。

然后需要删除2和3的Migration代码文件。不应手动删除,应当使用命令Remove-Migration 文件名,即:

Remove-Migration Migration3
Remove-Migration Migration2


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM