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脚本更新数据库。
➡️