Update mysql AddDefaultValue

This commit is contained in:
sunkaixuan 2023-04-01 11:40:57 +08:00
parent 71ff0ffc79
commit 17cd6b8cd9
2 changed files with 4 additions and 4 deletions

View File

@ -560,10 +560,10 @@ namespace SqlSugar
{ {
defaultValue = ""; defaultValue = "";
} }
if (defaultValue.ToLower().IsIn("now()", "current_timestamp") || defaultValue.ToLower().Contains("current_timestamp")) if (defaultValue.ToLower().IsIn("now()", "current_timestamp","null") || defaultValue.ToLower().Contains("current_timestamp")|| defaultValue.Contains("()"))
{ {
string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} {4} default {2} COMMENT '{5}'"; 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 dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName,false).First(it => it.DbColumnName.Equals(columnName, StringComparison.CurrentCultureIgnoreCase));
var value = Regex.Match(defaultValue, @"\(\d\)$").Value; var value = Regex.Match(defaultValue, @"\(\d\)$").Value;
string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription); string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);

View File

@ -561,10 +561,10 @@ namespace SqlSugar
{ {
defaultValue = ""; defaultValue = "";
} }
if (defaultValue.ToLower().IsIn("now()", "current_timestamp") || defaultValue.ToLower().Contains("current_timestamp")) if (defaultValue.ToLower().IsIn("null","now()", "current_timestamp") || defaultValue.ToLower().Contains("current_timestamp")|| defaultValue.Contains("()"))
{ {
string template = "ALTER table {0} CHANGE COLUMN {1} {1} {3} {4} default {2} COMMENT '{5}'"; 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 dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName,false).First(it => it.DbColumnName.Equals(columnName, StringComparison.CurrentCultureIgnoreCase));
var value = Regex.Match(defaultValue, @"\(\d\)$").Value; var value = Regex.Match(defaultValue, @"\(\d\)$").Value;
string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription); string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);