Update oracle codefirst

This commit is contained in:
sunkaixuan
2023-10-25 14:55:38 +08:00
parent f831495b40
commit bf9e74b809

View File

@@ -245,8 +245,8 @@ namespace SqlSugar
{
get
{
return "";
}
return "null";
}
}
protected override string CreateTableNotNull
{
@@ -272,6 +272,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&&oldColumn.IsPrimarykey==false&&oldColumn.IsIdentity==false)
{
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 bool RenameTable(string oldTableName, string newTableName)
{
return base.RenameTable(SqlBuilder.GetTranslationColumnName(oldTableName), SqlBuilder.GetTranslationColumnName(newTableName));