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 = "";
}
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}'";
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;
string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription);
this.Context.Ado.ExecuteCommand(sql);

View File

@ -561,10 +561,10 @@ namespace SqlSugar
{
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}'";
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;
string sql = string.Format(template, tableName, columnName, defaultValue, dbColumnInfo.DataType + value, dbColumnInfo.IsNullable ? " NULL " : " NOT NULL ", dbColumnInfo.ColumnDescription);
this.Context.Ado.ExecuteCommand(sql);