- 优化 MySql StringLength/MaxLength -2 产生 LongText 映射;

This commit is contained in:
28810
2020-06-06 19:02:41 +08:00
parent 926d8353c1
commit b9948f4508
17 changed files with 311 additions and 165 deletions

View File

@ -1218,12 +1218,12 @@ namespace FreeSql.Internal.CommonProvider
break;
case DataType.Oracle:
case DataType.OdbcOracle:
case DataType.Dameng:
case DataType.OdbcDameng:
_tosqlAppendContent = $" for update{(noawait ? " nowait" : "")}";
break;
case DataType.Sqlite:
break;
case DataType.OdbcDameng:
case DataType.Dameng:
case DataType.OdbcKingbaseES:
_tosqlAppendContent = $" for update{(noawait ? " nowait" : "")}";
break;

View File

@ -232,7 +232,8 @@ namespace FreeSql.Internal
{
case DataType.MySql:
case DataType.OdbcMySql:
if (strlen < 0) colattr.DbType = "TEXT";
if (strlen == -2) colattr.DbType = "LONGTEXT";
else if (strlen < 0) colattr.DbType = "TEXT";
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
break;
case DataType.SqlServer:
@ -250,9 +251,13 @@ namespace FreeSql.Internal
if (strlen < 0) colattr.DbType = "NCLOB"; //v1.3.2+ https://github.com/dotnetcore/FreeSql/issues/259
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
break;
case DataType.Dameng:
if (strlen < 0) colattr.DbType = "TEXT";
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
break;
case DataType.OdbcOracle:
case DataType.OdbcDameng:
if (strlen < 0) colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1(4000)");
if (strlen < 0) colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1(4000)"); //ODBC 不支持 NCLOB
else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
break;
case DataType.Sqlite: