dotnetcore / FreeSql

🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Clickhouse orm, DuckDB orm, TDengine orm, QuestDB orm, MsAccess orm.
https://freesql.net
MIT License
4.13k stars 860 forks source link

fix:修复升级达梦数据库的表结构时由于select中字符串精读问题,而导致字符串截取的问题 #1922

Closed EsonXie closed 2 weeks ago

EsonXie commented 2 weeks ago

在达梦数据库中,表结构上的字符串长度以字符为单位,而在cast函数转换数据类型时,是以字节为单位。 我们在使用FreeSql对达梦数据库进行表结构升级时,就会出现重新insert到原表时,一些较长的字符串就会被截断,导致数据不一致。

我跟达梦官方的论坛上提了问题,看这个情况应该就是达梦的特性。。。。 https://eco.dameng.com/community/question/ee053ae1bafba93b665c74a3b3f71b53

同时,我在单元测试中增加了升级测试的代码,原始的代码是不通过的