From 25285367de36516e76604849c1b20fe39d19052e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 22 Nov 2022 15:03:26 +0800 Subject: [PATCH] Synchronization code --- .../SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs | 4 ++++ .../Abstract/DbMaintenanceProvider/Properties.cs | 1 + .../Realization/Dm/DbMaintenance/DmDbMaintenance.cs | 1 + .../MySql/DbMaintenance/MySqlDbMaintenance.cs | 7 +++++++ .../Oracle/DbMaintenance/OracleDbMaintenance.cs | 7 +++++++ .../PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs | 2 +- .../SqlServer/DbMaintenance/SqlServerDbMaintenance.cs | 9 ++++++++- 7 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.Net/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 665feda9e..a12da7e01 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.Net/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.Net/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs b/Src/Asp.Net/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs index c0e2eb7d9..fe63ab069 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs +++ b/Src/Asp.Net/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 virtual string IsAnyProcedureSql { get; } #endregion #region Check diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs index 52bb7fd7f..ee620d8d9 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs +++ b/Src/Asp.Net/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.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs index 4a629e3e6..04bce68f0 100644 --- a/Src/Asp.Net/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.Net/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.Net/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs index 1ee48905c..d0557b6a4 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs +++ b/Src/Asp.Net/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.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs index 7dba04549..0dc2c06fc 100644 --- a/Src/Asp.Net/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs +++ b/Src/Asp.Net/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.Net/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs b/Src/Asp.Net/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs index e6fce8604..a1f58cfbc 100644 --- a/Src/Asp.Net/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs +++ b/Src/Asp.Net/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 } }