ef core数据迁移的一点小感悟

ef core在针对mysql数据迁移的时候,有些时候没法迁移。。。
有两种情况没法迁移,一种是因为efcore的bug问题导致没法迁移,这个在github上有个问题集,另外一种是对数据表进行较大幅度的变更,导致外键导航之类的变更较多,无法正常迁移,并且涉及到该表的迁移有多条。

然后我就自己琢磨,在不删除所有迁移记录的情况下怎么顺利把数据表更改掉,然后摸索了一阵,确实成功了,步骤如下。

1.先把表备份后,删除这个表。
2. 在migration记录表中,涉及到该表的迁移全部删除。
3. 删除迁移记录中的文件
4. 删除ModelSnapShop中涉及到该表的modelbuilder
5. 重新添加一下这个表的迁移记录
6. 顺利执行update-database,在数据库增加这个表
7. 将开始备份的数据更改结构后,重新导入到这个新表。

就这样就完成了

posted on 2019-10-18 11:46  willhuo  阅读(444)  评论(1编辑  收藏  举报