ef code 更改索引数据迁移部分失败回滚问题

修改多个表的索引进行数据迁移的时候由于部分索引更新失败,导致数据表有些索引更新了。
如果继续修改索引添加迁移记录,执行迁移时会报错说“索引不存在无法删除”,是因为之前执行迁移的时候有些索引已经被删除更新了。
执行迁移回滚还原时,发现没能还原到上次执行迁移没有完全成功的修改的索引。。。
此时只能通过查看迁移日志手动执行脚本还原了,未能找到其他办法。。。

测试发现如果迁移执行完全成功不报错是可以正常回滚的,消除了我觉得无法回滚索引更新的疑惑。

问题应该是迁移执行没有完全成功存在部分失败时,回滚还原可能存在还原失败,也有可能是因为我回滚迁移的时候没有一步步向上回滚而是跨迁移记录回滚的原因(猜测,就不验证了!)

总结:
执行数据迁移时应该减少迁移记录修改量,尽量拆分为多次迁移,做好数据备份,保存好迁移日志。

efcore数据迁移参考:https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/managing?tabs=dotnet-core-cli

posted @   weichangk  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示