EFCore之项目升级遇到迁移小问题
原文中文,约4100字,阅读约需10分钟。
📝
内容提要
升级.NetCore3.1到.Net6版本后,发现程序起不来,排查发现是某个列从int类型变成text类型,最后按照7.x的方式修改迁移文件就可以生成更新列的SQL了,提醒大家升级项目框架时要多多测试,多方面考虑,最好生成SQL脚本去更新数据库。
🎯
关键要点
-
项目从.NetCore3.1升级到.Net6后,程序无法启动。
-
数据库迁移时,某个列的类型从int变为text,导致错误。
-
排查发现迁移文件中未涉及该列的操作,导致类型不匹配。
-
生成的迁移文件中包含大量自动生成的代码,未能正确更新列类型。
-
创建了一个新的.NetCore3.1项目并生成迁移文件,成功修改列类型。
-
在升级到.Net6后,迁移文件未能生成更新列类型的SQL。
-
手动修改迁移文件以符合7.x版本的要求,成功生成更新列的SQL。
-
建议在升级项目框架时进行充分测试,并生成SQL脚本更新数据库。
🏷️