Update Db.DbMain.AddDefaultValue

This commit is contained in:
sunkaixuan
2022-08-10 23:34:40 +08:00
parent 8510b8de57
commit 0dfbb7f6c1

View File

@@ -454,18 +454,18 @@ namespace SqlSugar
{ {
defaultValue = ""; 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 dbColumnInfo = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName).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); 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);
return true; return true;
} }
else if (defaultValue=="0"|| defaultValue == "1") else if (defaultValue == "0" || defaultValue == "1")
{ {
string sql = string.Format(AddDefaultValueSql.Replace("'",""), tableName, columnName, defaultValue); string sql = string.Format(AddDefaultValueSql.Replace("'", ""), tableName, columnName, defaultValue);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }