-- 2026-10-27 本次改造:盘号字段(MySQL)
|
-- 先选择目标数据库并执行 20261027_00_preflight.sql,核对库名、备份和现有字段类型。
|
-- 本脚本只在字段不存在时添加字段;重复执行会跳过已存在字段。
|
-- 已有同名字段但类型或用途不同,不会自动修正,请先核对。
|
-- MySQL ALTER TABLE 会隐式提交;失败后需检查实际执行结果再重试。
|
|
-- erp_sale_order_items.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'erp_sale_order_items' AND COLUMN_NAME = 'reel_no'), 'SELECT ''erp_sale_order_items.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `erp_sale_order_items` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_pro_mps.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_pro_mps' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_pro_mps.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_pro_mps` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_pro_work_order.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_pro_work_order' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_pro_work_order.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_pro_work_order` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_qc_ipqc.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_qc_ipqc' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_qc_ipqc.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_qc_ipqc` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_qc_oqc.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_qc_oqc' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_qc_oqc.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_qc_oqc` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_wm_product_produce_line.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_wm_product_produce_line' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_wm_product_produce_line.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_wm_product_produce_line` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_wm_product_produce_detail.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_wm_product_produce_detail' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_wm_product_produce_detail.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_wm_product_produce_detail` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''销售明细盘号快照''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
-- mes_wm_batch.reel_no
|
SET @reel_ddl = IF(EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mes_wm_batch' AND COLUMN_NAME = 'reel_no'), 'SELECT ''mes_wm_batch.reel_no 已存在,跳过'' AS message', 'ALTER TABLE `mes_wm_batch` ADD COLUMN `reel_no` varchar(128) DEFAULT NULL COMMENT ''生产追溯盘号''');
|
PREPARE reel_stmt FROM @reel_ddl;
|
EXECUTE reel_stmt;
|
DEALLOCATE PREPARE reel_stmt;
|
|
SET @reel_ddl = NULL;
|