-- ========================================== -- 物业报修管理模块表名重命名脚本 -- 版本: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;