gaoluyang
10 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-- 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;