云
2 天以前 704265308b1227dbada5a36b2027b588c062ded2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- 一袋双码:code 保持原追溯码,business_code 为内部扫码出入库的独立码值。
-- 先执行本脚本,再部署后端;历史数据通过后台勾选补生成,禁止直接复制追溯码。
SET @bag_business_column_exists = (
    SELECT COUNT(*) FROM information_schema.columns
    WHERE table_schema = DATABASE() AND table_name = 'mes_pro_bag_code' AND column_name = 'business_code'
);
SET @bag_business_ddl = IF(@bag_business_column_exists = 0,
    'ALTER TABLE mes_pro_bag_code ADD COLUMN business_code VARCHAR(16) DEFAULT NULL COMMENT ''内部出入库业务码(16位数字)'' AFTER code', 'SELECT 1');
PREPARE bag_business_stmt FROM @bag_business_ddl;
EXECUTE bag_business_stmt;
DEALLOCATE PREPARE bag_business_stmt;
 
SET @bag_business_index_exists = (
    SELECT COUNT(*) FROM information_schema.statistics
    WHERE table_schema = DATABASE() AND table_name = 'mes_pro_bag_code' AND index_name = 'uk_business_code'
);
SET @bag_business_ddl = IF(@bag_business_index_exists = 0,
    'ALTER TABLE mes_pro_bag_code ADD UNIQUE KEY uk_business_code (business_code)', 'SELECT 1');
PREPARE bag_business_stmt FROM @bag_business_ddl;
EXECUTE bag_business_stmt;
DEALLOCATE PREPARE bag_business_stmt;