admin/sql/migrate_rename_warehouse_C_to_c.sql
zzh a1daea6b35 refactor: 仓储表 C_* 改为 c_*,优化专线小包批量模板
- 仓储实体与 db.sql 统一为小写 c_ 前缀,新增 migrate_rename_warehouse_C_to_c.sql
- 专线小包批量模板精简版/标准版双模板,Excel 必填标红与发件地址上传参数

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 16:18:59 +08:00

35 lines
1.5 KiB
SQL

-- 仓储表 C_* → c_*(小写前缀,对齐 t_* 命名风格)
-- 可重复执行:源表不存在或目标表已存在则跳过
DROP PROCEDURE IF EXISTS sp_rename_warehouse_table_if_needed;
DELIMITER $$
CREATE PROCEDURE sp_rename_warehouse_table_if_needed(IN old_name VARCHAR(128), IN new_name VARCHAR(128))
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = old_name
) AND NOT EXISTS (
SELECT 1 FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = new_name
) THEN
SET @ddl := CONCAT('RENAME TABLE `', old_name, '` TO `', new_name, '`');
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END$$
DELIMITER ;
CALL sp_rename_warehouse_table_if_needed('C_sku', 'c_sku');
CALL sp_rename_warehouse_table_if_needed('C_bin_location', 'c_bin_location');
CALL sp_rename_warehouse_table_if_needed('C_inventory', 'c_inventory');
CALL sp_rename_warehouse_table_if_needed('C_inbound_notice', 'c_inbound_notice');
CALL sp_rename_warehouse_table_if_needed('C_inbound_box', 'c_inbound_box');
CALL sp_rename_warehouse_table_if_needed('C_inbound_box_line', 'c_inbound_box_line');
CALL sp_rename_warehouse_table_if_needed('C_parcel', 'c_parcel');
CALL sp_rename_warehouse_table_if_needed('C_parcel_arrival', 'c_parcel_arrival');
CALL sp_rename_warehouse_table_if_needed('C_parcel_item', 'c_parcel_item');
CALL sp_rename_warehouse_table_if_needed('C_sku_platform_map', 'c_sku_platform_map');
DROP PROCEDURE IF EXISTS sp_rename_warehouse_table_if_needed;