From b8185131c171c0fd06d7d879265b9b33d9584800 Mon Sep 17 00:00:00 2001 From: apgk Date: Tue, 22 Nov 2022 14:32:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=AD=98=E5=82=A8=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=202.=E5=B7=B2=E5=8A=A0=E5=85=A5=20SqlServer=E3=80=81MySql?= =?UTF-8?q?=E3=80=81Oracle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs | 4 ++++ .../Abstract/DbMaintenanceProvider/Properties.cs | 1 + Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs | 1 + .../Realization/Dm/DbMaintenance/DmDbMaintenance.cs | 1 + .../Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs | 2 +- .../MySql/DbMaintenance/MySqlDbMaintenance.cs | 7 +++++++ .../Oracle/DbMaintenance/OracleDbMaintenance.cs | 7 +++++++ .../Oscar/DbMaintenance/OscarDbMaintenance.cs | 1 + .../PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs | 2 +- .../QuestDB/DbMaintenance/QuestDBDbMaintenance.cs | 2 +- .../SqlServer/DbMaintenance/SqlServerDbMaintenance.cs | 9 ++++++++- .../Sqlite/DbMaintenance/SqliteDbMaintenance.cs | 1 + 12 files changed, 34 insertions(+), 4 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 665feda9e..a12da7e01 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -598,6 +598,10 @@ namespace SqlSugar this.Context.Ado.ExecuteCommand(sql); return true; } + public virtual bool IsAnyProcedure(string procName) { + string sql = string.Format(this.IsAnyProcedureSql, procName); + return this.Context.Ado.GetInt(sql)>0; + } #endregion #region Private diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs index c0e2eb7d9..117c8275e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs @@ -55,6 +55,7 @@ namespace SqlSugar protected abstract string DeleteTableRemarkSql { get; } protected abstract string IsAnyTableRemarkSql { get; } protected abstract string RenameTableSql { get; } + protected abstract string IsAnyProcedureSql { get; } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs index 299339276..a39de2c10 100644 --- a/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs @@ -25,6 +25,7 @@ namespace SqlSugar bool IsIdentity(string tableName, string column); bool IsAnyConstraint(string ConstraintName); bool IsAnySystemTablePermissions(); + bool IsAnyProcedure(string procName); #endregion #region DDL diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs index 52bb7fd7f..ee620d8d9 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs @@ -218,6 +218,7 @@ namespace SqlSugar return "alter table {0} rename to {1}"; } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs index a22947697..390e7203b 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs @@ -195,7 +195,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('Index_UnitCodeTest1_Id_CreateDate') as c ) t where t.c is not null"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs index 4a629e3e6..04bce68f0 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs @@ -153,6 +153,13 @@ namespace SqlSugar return "alter table {0} change column {1} {2}"; } } + protected override string IsAnyProcedureSql + { + get + { + return "select count(*) from information_schema.Routines where ROUTINE_NAME='{0}' and ROUTINE_TYPE='PROCEDURE'"; + } + } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs index 1ee48905c..d0557b6a4 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs @@ -221,6 +221,13 @@ namespace SqlSugar return "alter table {0} rename to {1}"; } } + protected override string IsAnyProcedureSql + { + get + { + return "SELECT COUNT(*) FROM user_objects WHERE OBJECT_TYPE = 'PROCEDURE' AND OBJECT_NAME ='{0}'"; + } + } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs index 596c70df2..1efe1c04d 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs @@ -194,6 +194,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('{0}') as c ) t where t.c is not null"; } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs index 7dba04549..0dc2c06fc 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs @@ -204,7 +204,7 @@ namespace SqlSugar return " SELECT count(1) WHERE upper('{0}') IN ( SELECT upper(indexname) FROM pg_indexes )"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs index 988aeb987..e1ad78e58 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs @@ -170,7 +170,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('{0}') as c ) t where t.c is not null"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs index e6fce8604..a1f58cfbc 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs @@ -269,6 +269,13 @@ namespace SqlSugar return "select count(*) from sys.indexes where name='{0}'"; } } + protected override string IsAnyProcedureSql + { + get + { + return "select count(*) from sys.objects where [object_id] = OBJECT_ID(N'sp_GetSubLedgerJoinWithdrawalApplicationRecords') and [type] in (N'P')"; + } + } #endregion #region Check @@ -563,7 +570,7 @@ namespace SqlSugar string sql = string.Format(this.RenameColumnSql, tableName, oldColumnName, newColumnName); this.Context.Ado.ExecuteCommand(sql); return true; - } + } #endregion } } diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index f39f63cbe..5ae2d6ab3 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -136,6 +136,7 @@ namespace SqlSugar throw new NotSupportedException(); } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check