diff --git a/Src/Asp.NetCore2/OscarTest/Config.cs b/Src/Asp.NetCore2/OscarTest/Config.cs
index 5b7feef47..c767f27a5 100644
--- a/Src/Asp.NetCore2/OscarTest/Config.cs
+++ b/Src/Asp.NetCore2/OscarTest/Config.cs
@@ -15,16 +15,16 @@ namespace OrmTest
/// Account have permission to create database
/// 用有建库权限的数据库账号
///
- public static string ConnectionString = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
+ public static string ConnectionString = "PORT=2003;DATABASE=osrdb;HOST=101.34.16.141;PASSWORD=szoscar555;USER ID=SYSDBA;";
///
/// Account have permission to create database
/// 用有建库权限的数据库账号
///
- public static string ConnectionString2 = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
+ public static string ConnectionString2 = "PORT=2003;DATABASE=osrdb;HOST=101.34.16.141;PASSWORD=szoscar555;USER ID=SYSDBA;";
///
/// Account have permission to create database
/// 用有建库权限的数据库账号
///
- public static string ConnectionString3 = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
+ public static string ConnectionString3 = "PORT=2003;DATABASE=osrdb;HOST=101.34.16.141;PASSWORD=szoscar555;USER ID=SYSDBA;";
}
}
diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/CodeFirst/OscarCodeFirst.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/CodeFirst/OscarCodeFirst.cs
index 5cb51c4cc..5474027d2 100644
--- a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/CodeFirst/OscarCodeFirst.cs
+++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/CodeFirst/OscarCodeFirst.cs
@@ -67,11 +67,11 @@ namespace SqlSugar
protected override void ChangeKey(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{
- this.Context.DbMaintenance.UpdateColumn(tableName, EntityColumnToDbColumn(entityInfo, tableName, item));
- if (!item.IsPrimarykey)
- this.Context.DbMaintenance.DropConstraint(tableName,null);
- if (item.IsPrimarykey)
- this.Context.DbMaintenance.AddPrimaryKey(tableName, item.DbColumnName);
+ //this.Context.DbMaintenance.UpdateColumn(tableName, EntityColumnToDbColumn(entityInfo, tableName, item));
+ //if (!item.IsPrimarykey)
+ // this.Context.DbMaintenance.DropConstraint(tableName,null);
+ //if (item.IsPrimarykey)
+ // this.Context.DbMaintenance.AddPrimaryKey(tableName, item.DbColumnName);
}
}
diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs
index 3b0e08f16..a0d59ec0a 100644
--- a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs
+++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs
@@ -244,15 +244,36 @@ INFO_SCHEM.ALL_TAB_COLUMNS WHERE upper(TABLE_NAME)=upper('{0}')
#region Methods
public override bool UpdateColumn(string tableName, DbColumnInfo columnInfo)
{
+
tableName = this.SqlBuilder.GetTranslationTableName(tableName);
var columnName= this.SqlBuilder.GetTranslationColumnName(columnInfo.DbColumnName);
- string sql = GetUpdateColumnSql(tableName, columnInfo);
- this.Context.Ado.ExecuteCommand(sql);
+ string type = GetType(tableName, columnInfo);
+ //this.Context.Ado.ExecuteCommand(sql);
+
+ string sql= @"ALTER TABLE {table} ALTER TYPE {column} {type};ALTER TABLE {table} ALTER COLUMN {column} {null}";
+
var isnull = columnInfo.IsNullable?" DROP NOT NULL ": " SET NOT NULL ";
- this.Context.Ado.ExecuteCommand(string.Format("alter table {0} alter {1} {2}",tableName,columnName, isnull));
+
+ sql = sql.Replace("{table}", tableName)
+ .Replace("{type}", type)
+ .Replace("{column}", columnName)
+ .Replace("{null}", isnull);
+ this.Context.Ado.ExecuteCommand(sql);
return true;
}
+ protected string GetType(string tableName, DbColumnInfo columnInfo)
+ {
+ string columnName = this.SqlBuilder.GetTranslationColumnName(columnInfo.DbColumnName);
+ tableName = this.SqlBuilder.GetTranslationTableName(tableName);
+ string dataSize = GetSize(columnInfo);
+ string dataType = columnInfo.DataType;
+ //if (!string.IsNullOrEmpty(dataType))
+ //{
+ // dataType = dataType;
+ //}
+ return dataType +""+ dataSize;
+ }
protected override string GetUpdateColumnSql(string tableName, DbColumnInfo columnInfo)
{
string columnName = this.SqlBuilder.GetTranslationColumnName(columnInfo.DbColumnName);
@@ -371,6 +392,13 @@ INFO_SCHEM.ALL_TAB_COLUMNS WHERE upper(TABLE_NAME)=upper('{0}')
public override List GetColumnInfosByTableName(string tableName, bool isCache = true)
{
var result= base.GetColumnInfosByTableName(tableName.TrimStart('"').TrimEnd('"'), isCache);
+ foreach (var columnInfo in result)
+ {
+ if (columnInfo.IsIdentity && !columnInfo.DataType.ObjToString().ToLower().Contains("int"))
+ {
+ columnInfo.IsIdentity = false;
+ }
+ }
string sql = "select * from " + SqlBuilder.GetTranslationTableName(tableName) + " WHERE 1=2 ";
var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent;
this.Context.Ado.IsEnableLogEvent = false;