166 lines
6.1 KiB
SQL
166 lines
6.1 KiB
SQL
-- ==========================================
|
|
-- 物业报修管理模块表名重命名脚本
|
|
-- 版本:V1.0.0
|
|
-- 功能:将现有pm_开头的表名重命名为hq_pm_开头
|
|
-- 作者:Cursor AI 辅助
|
|
-- 时间:2025-01-23
|
|
-- 目的:符合项目表名规范(后勤管理模块使用hq_前缀)
|
|
-- ==========================================
|
|
|
|
-- 设置字符集
|
|
SET NAMES utf8mb4;
|
|
|
|
-- 检查表是否存在并进行重命名
|
|
-- 注意:在重命名之前请确保没有其他进程在使用这些表
|
|
|
|
-- 1. 重命名报修工单表
|
|
-- 先检查表是否存在
|
|
SELECT 'Checking table existence...' AS step;
|
|
|
|
-- 重命名主要业务表
|
|
-- 1. pm_repair_order -> hq_pm_repair_order
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_order') > 0,
|
|
'RENAME TABLE pm_repair_order TO hq_pm_repair_order',
|
|
'SELECT "Table pm_repair_order does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 2. pm_repair_attachment -> hq_pm_repair_attachment
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_attachment') > 0,
|
|
'RENAME TABLE pm_repair_attachment TO hq_pm_repair_attachment',
|
|
'SELECT "Table pm_repair_attachment does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 3. pm_repair_progress -> hq_pm_repair_progress
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_progress') > 0,
|
|
'RENAME TABLE pm_repair_progress TO hq_pm_repair_progress',
|
|
'SELECT "Table pm_repair_progress does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 4. pm_service_evaluation -> hq_pm_service_evaluation
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_service_evaluation') > 0,
|
|
'RENAME TABLE pm_service_evaluation TO hq_pm_service_evaluation',
|
|
'SELECT "Table pm_service_evaluation does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 5. pm_repair_category -> hq_pm_repair_category
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_category') > 0,
|
|
'RENAME TABLE pm_repair_category TO hq_pm_repair_category',
|
|
'SELECT "Table pm_repair_category does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 6. pm_system_config -> hq_pm_system_config
|
|
SET @sql = IF(
|
|
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_system_config') > 0,
|
|
'RENAME TABLE pm_system_config TO hq_pm_system_config',
|
|
'SELECT "Table pm_system_config does not exist" AS info'
|
|
);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 验证重命名结果
|
|
SELECT 'Verifying table rename results...' AS step;
|
|
|
|
-- 检查新表名是否存在
|
|
SELECT
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_repair_order')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_repair_order_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_repair_attachment')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_repair_attachment_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_repair_progress')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_repair_progress_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_service_evaluation')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_service_evaluation_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_repair_category')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_repair_category_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hq_pm_system_config')
|
|
THEN 'EXISTS'
|
|
ELSE 'NOT EXISTS'
|
|
END AS hq_pm_system_config_status;
|
|
|
|
-- 检查旧表名是否还存在(应该不存在)
|
|
SELECT
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_order')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_repair_order_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_attachment')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_repair_attachment_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_progress')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_repair_progress_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_service_evaluation')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_service_evaluation_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_repair_category')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_repair_category_status,
|
|
|
|
CASE
|
|
WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pm_system_config')
|
|
THEN 'STILL EXISTS (ERROR)'
|
|
ELSE 'REMOVED (OK)'
|
|
END AS old_pm_system_config_status;
|
|
|
|
SELECT 'Table rename operation completed!' AS result; |