mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
Synchronization code
This commit is contained in:
@@ -37,7 +37,7 @@ namespace SqlSugar
|
||||
|
||||
private string GetOracleUpdateColums(int i, DbColumnInfo m)
|
||||
{
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(IsUppper), FormatValue(i, m.DbColumnName, m.Value));
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(IsUppper), base.GetDbColumn(m,FormatValue(i, m.DbColumnName, m.Value)));
|
||||
}
|
||||
public bool IsUppper
|
||||
{
|
||||
|
@@ -428,6 +428,48 @@ namespace SqlSugar
|
||||
return tableString;
|
||||
}
|
||||
|
||||
|
||||
public override bool AddColumn(string tableName, DbColumnInfo columnInfo)
|
||||
{
|
||||
tableName = this.SqlBuilder.GetTranslationTableName(tableName);
|
||||
var isAddNotNUll = columnInfo.IsNullable == false && columnInfo.DefaultValue.HasValue();
|
||||
if (isAddNotNUll)
|
||||
{
|
||||
columnInfo = this.Context.Utilities.TranslateCopy(columnInfo);
|
||||
columnInfo.IsNullable = true;
|
||||
}
|
||||
string sql = GetAddColumnSql(tableName, columnInfo);
|
||||
if (sql != null && columnInfo.ColumnDescription.HasValue() &&!sql.ToLower().Contains("comment"))
|
||||
{
|
||||
sql = $"{sql}{" COMMENT '"+ columnInfo.ColumnDescription.ToSqlFilter()+ "' "}";
|
||||
}
|
||||
this.Context.Ado.ExecuteCommand(sql);
|
||||
if (isAddNotNUll)
|
||||
{
|
||||
var dtColums = this.Context.Queryable<object>().AS(columnInfo.TableName).Where("1=2")
|
||||
.Select(this.SqlBuilder.GetTranslationColumnName(columnInfo.DbColumnName)).ToDataTable().Columns.Cast<System.Data.DataColumn>();
|
||||
var dtColumInfo = dtColums.First(it => it.ColumnName.EqualCase(columnInfo.DbColumnName));
|
||||
var type = UtilMethods.GetUnderType(dtColumInfo.DataType);
|
||||
var value = type == UtilConstants.StringType ? (object)"" : Activator.CreateInstance(type);
|
||||
if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
|
||||
{
|
||||
value = columnInfo.DefaultValue;
|
||||
if (value.Equals(""))
|
||||
{
|
||||
value = "empty";
|
||||
}
|
||||
}
|
||||
var dt = new Dictionary<string, object>();
|
||||
dt.Add(columnInfo.DbColumnName, value);
|
||||
this.Context.Updateable(dt)
|
||||
.AS(tableName)
|
||||
.Where($"{columnInfo.DbColumnName} is null ").ExecuteCommand();
|
||||
columnInfo.IsNullable = false;
|
||||
UpdateColumn(tableName, columnInfo);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override string GetSize(DbColumnInfo item)
|
||||
{
|
||||
string dataSize = null;
|
||||
|
@@ -59,7 +59,7 @@ namespace SqlSugar
|
||||
{
|
||||
updateTable.Append(SqlTemplateBatchUnion);
|
||||
}
|
||||
updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(SqlTemplateBatchSelect, FormatValue(it.Value,it.PropertyName),this.Builder.GetTranslationColumnName(it.DbColumnName)))));
|
||||
updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(SqlTemplateBatchSelect, base.GetDbColumn(it,FormatValue(it.Value,it.PropertyName)),this.Builder.GetTranslationColumnName(it.DbColumnName)))));
|
||||
++i;
|
||||
}
|
||||
pageIndex++;
|
||||
|
@@ -33,7 +33,7 @@ namespace SqlSugar
|
||||
|
||||
private string GetOracleUpdateColums(DbColumnInfo m)
|
||||
{
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(IsUppper), FormatValue(m.Value,m.IsPrimarykey,m.PropertyName));
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(IsUppper), base.GetDbColumn(m,FormatValue(m.Value,m.IsPrimarykey,m.PropertyName)));
|
||||
}
|
||||
int i = 0;
|
||||
public object FormatValue(object value,bool isPrimaryKey,string name)
|
||||
|
@@ -168,7 +168,7 @@ namespace SqlSugar
|
||||
dbType = "varchar";
|
||||
}
|
||||
}
|
||||
return string.Format("CAST({0} AS {1})", FormatValue(it.Value,it.DbColumnName,i,it), dbType);
|
||||
return string.Format("CAST({0} AS {1})", base.GetDbColumn(it,FormatValue(it.Value,it.DbColumnName,i,it)), dbType);
|
||||
|
||||
})) + ")");
|
||||
++i;
|
||||
|
@@ -33,7 +33,7 @@ namespace SqlSugar
|
||||
|
||||
private string GetOracleUpdateColums(int i, DbColumnInfo m, bool iswhere)
|
||||
{
|
||||
return string.Format(" \"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i, m.DbColumnName, m.Value, iswhere));
|
||||
return string.Format(" \"{0}\"={1}", m.DbColumnName.ToUpper(),base.GetDbColumn(m, FormatValue(i, m.DbColumnName, m.Value, iswhere)));
|
||||
}
|
||||
|
||||
public object FormatValue(int i, string name, object value, bool iswhere)
|
||||
|
@@ -42,7 +42,7 @@ namespace SqlSugar
|
||||
{
|
||||
updateTable.Append(SqlTemplateBatchUnion);
|
||||
}
|
||||
updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(base.SqlTemplateBatchSelect, GetValue(it), Builder.GetTranslationColumnName(it.DbColumnName)))));
|
||||
updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(base.SqlTemplateBatchSelect,base.GetDbColumn(it,GetValue(it)), Builder.GetTranslationColumnName(it.DbColumnName)))));
|
||||
++i;
|
||||
}
|
||||
pageIndex++;
|
||||
|
@@ -32,7 +32,7 @@ namespace SqlSugar
|
||||
|
||||
private string GetOracleUpdateColums(int i,DbColumnInfo m,bool iswhere)
|
||||
{
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i,m.DbColumnName,m.Value,iswhere));
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(),base.GetDbColumn(m, FormatValue(i,m.DbColumnName,m.Value,iswhere)));
|
||||
}
|
||||
|
||||
public object FormatValue(int i,string name,object value,bool iswhere)
|
||||
|
Reference in New Issue
Block a user