Synchronization code

This commit is contained in:
sunkaixuan 2023-12-11 20:05:12 +08:00
parent e8d8d283b2
commit 65131a80a5
2 changed files with 28 additions and 1 deletions

View File

@ -267,6 +267,33 @@ namespace SqlSugar
#endregion
#region Methods
public override bool UpdateColumn(string tableName, DbColumnInfo column)
{
var oldColumn = this.Context.DbMaintenance.GetColumnInfosByTableName(tableName, false)
.FirstOrDefault(it => it.DbColumnName.EqualCase(column.DbColumnName));
if (oldColumn != null)
{
if (oldColumn.IsNullable == column.IsNullable)
{
var sql = GetUpdateColumnSqlOnlyType(tableName, column);
this.Context.Ado.ExecuteCommand(sql);
return true;
}
}
return base.UpdateColumn(tableName, column);
}
protected virtual string GetUpdateColumnSqlOnlyType(string tableName, DbColumnInfo columnInfo)
{
string columnName = this.SqlBuilder.GetTranslationColumnName(columnInfo.DbColumnName);
tableName = this.SqlBuilder.GetTranslationTableName(tableName);
string dataSize = GetSize(columnInfo);
string dataType = columnInfo.DataType;
string nullType = "";
string primaryKey = null;
string identity = null;
string result = string.Format(this.AlterColumnToTableSql, tableName, columnName, dataType, dataSize, nullType, primaryKey, identity);
return result;
}
public override List<string> GetDbTypes()
{
var result = this.Context.Ado.SqlQuery<string>(@"SELECT DISTINCT DATA_TYPE

View File

@ -245,7 +245,7 @@ namespace SqlSugar
{
get
{
return "";
return " NULL ";
}
}
protected override string CreateTableNotNull