diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs index 9201a7928..84b93abc6 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs @@ -68,7 +68,9 @@ namespace SqlSugar sql = sql.Replace("pkey on pcolumn.table_name = pkey.relname", "pkey on pcolumn.table_name::text = pkey.relname::text "); } else if (IsMySql()) - { + { + sql = sql.Replace("UPPER(", "pg_catalog.upper(",StringComparison.OrdinalIgnoreCase); + sql = sql.Replace("lower(", "pg_catalog.lower(", StringComparison.OrdinalIgnoreCase); sql = sql.Replace("pcolumn.udt_name", "pcolumn.data_type"); } return sql; @@ -245,6 +247,11 @@ namespace SqlSugar { sql = sql.Replace("sys_", "pg_"); } + if (IsSqlServerModel() || IsMySql()) + { + sql = sql.Replace("UPPER(", "pg_catalog.upper(", StringComparison.OrdinalIgnoreCase); + sql = sql.Replace("lower(", "pg_catalog.lower(", StringComparison.OrdinalIgnoreCase); + } return sql; } } @@ -352,6 +359,11 @@ WHERE tgrelid = '" + tableName + "'::regclass"); { sql = sql.Replace("sys_", "pg_"); } + if (IsSqlServerModel() || IsMySql()) + { + sql = sql.Replace("UPPER(", "pg_catalog.upper(", StringComparison.OrdinalIgnoreCase); + sql = sql.Replace("lower(", "pg_catalog.lower(", StringComparison.OrdinalIgnoreCase); + } return this.Context.Ado.SqlQuery(sql); } public override List GetProcList(string dbName) @@ -361,6 +373,11 @@ WHERE tgrelid = '" + tableName + "'::regclass"); { sql = sql.Replace("sys_", "pg_"); } + if (IsSqlServerModel() || IsMySql()) + { + sql = sql.Replace("UPPER(", "pg_catalog.upper(", StringComparison.OrdinalIgnoreCase); + sql = sql.Replace("lower(", "pg_catalog.lower(", StringComparison.OrdinalIgnoreCase); + } return this.Context.Ado.SqlQuery(sql); } private string GetSchema() @@ -440,10 +457,11 @@ WHERE tgrelid = '" + tableName + "'::regclass"); public override bool IsAnyTable(string tableName, bool isCache = true) { var sql = $"select count(*) from information_schema.tables where UPPER(table_schema)=UPPER('{GetSchema()}') and UPPER(table_type)=UPPER('BASE TABLE') and UPPER(table_name)=UPPER('{tableName.ToUpper(IsUpper)}')"; - if (IsSqlServerModel()) + if (IsSqlServerModel()||IsMySql()) { sql = $"select count(*) from information_schema.tables where UPPER(table_schema)=UPPER('{GetSchema()}') and pg_catalog.UPPER(table_name)=pg_catalog.UPPER('{tableName.ToUpper(IsUpper)}')"; } + return this.Context.Ado.GetInt(sql)>0; }