From 87c0229a1354237e1eae9a265bb0ac15c33558db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=80=E4=B8=87=E9=87=8C?= Date: Mon, 8 Aug 2022 10:25:27 +0800 Subject: [PATCH] fix: loss of null and comment when default is now and current_timestamp --- .../MySql/DbMaintenance/MySqlDbMaintenance.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlSugar.MySqlConnector/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.Net/SqlSugar.MySqlConnector/MySql/DbMaintenance/MySqlDbMaintenance.cs index ba9ef9c8e..de473bc7b 100644 --- a/Src/Asp.Net/SqlSugar.MySqlConnector/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar.MySqlConnector/MySql/DbMaintenance/MySqlDbMaintenance.cs @@ -452,12 +452,12 @@ namespace SqlSugar.MySqlConnector { defaultValue = ""; } - if (defaultValue.ToLower().IsIn("now()", "current_timestamp")|| defaultValue.ToLower().Contains("current_timestamp")) + if (defaultValue.ToLower().IsIn("now()", "current_timestamp") || defaultValue.ToLower().Contains("current_timestamp")) { - string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} default {2}"; + string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} {4} default {2} COMMENT '{5}'"; var dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName).First(it => it.DbColumnName.Equals(columnName, StringComparison.CurrentCultureIgnoreCase)); var value = Regex.Match(defaultValue, @"\(\d\)$").Value; - string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType+ value); + string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription); this.Context.Ado.ExecuteCommand(sql); return true; }