云
6 小时以前 02a1ae81eba7b48223052fb833859f0a65dd7d21
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
-- =============================================
-- 赋码管理 - 托盘表新增生成组标记
-- 批量生成袋码数据包时写入,用于任务失败/取消后清理未绑定的临时托盘
-- MySQL 8.4 适用(ADD COLUMN 不支持 IF NOT EXISTS,先查 information_schema)
-- =============================================
 
SET NAMES utf8mb4;
 
SET @exists = (SELECT COUNT(*) FROM information_schema.columns
               WHERE table_schema = DATABASE()
                 AND table_name = 'mes_pro_pallet'
                 AND column_name = 'generate_uuid');
SET @sql = IF(@exists = 0,
              'ALTER TABLE mes_pro_pallet ADD COLUMN generate_uuid VARCHAR(32) DEFAULT NULL COMMENT ''生成组 UUID(批量生成时写入,用于失败/取消清理)'' AFTER temp_code',
              'SELECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
 
SET @indexExists = (SELECT COUNT(*) FROM information_schema.statistics
                    WHERE table_schema = DATABASE()
                      AND table_name = 'mes_pro_pallet'
                      AND index_name = 'idx_generate_uuid');
SET @sql = IF(@indexExists = 0,
              'ALTER TABLE mes_pro_pallet ADD INDEX idx_generate_uuid (generate_uuid)',
              'SELECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;