-- 托盘和生产批次独立业务码;先升级数据库再部署后端。历史记录在页面补生成。 SET @business_exists = (SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'mes_pro_pallet' AND column_name = 'business_code'); SET @business_ddl = IF(@business_exists = 0, 'ALTER TABLE mes_pro_pallet ADD COLUMN business_code VARCHAR(16) DEFAULT NULL COMMENT ''内部出入库业务码(16位数字)'' AFTER code', 'SELECT 1'); PREPARE business_stmt FROM @business_ddl; EXECUTE business_stmt; DEALLOCATE PREPARE business_stmt; SET @business_exists = (SELECT COUNT(*) FROM information_schema.statistics WHERE table_schema = DATABASE() AND table_name = 'mes_pro_pallet' AND index_name = 'uk_business_code'); SET @business_ddl = IF(@business_exists = 0, 'ALTER TABLE mes_pro_pallet ADD UNIQUE KEY uk_business_code (business_code)', 'SELECT 1'); PREPARE business_stmt FROM @business_ddl; EXECUTE business_stmt; DEALLOCATE PREPARE business_stmt; SET @business_exists = (SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'mes_pro_batch' AND column_name = 'business_code'); SET @business_ddl = IF(@business_exists = 0, 'ALTER TABLE mes_pro_batch ADD COLUMN business_code VARCHAR(16) DEFAULT NULL COMMENT ''内部出入库业务码(16位数字)'' AFTER code', 'SELECT 1'); PREPARE business_stmt FROM @business_ddl; EXECUTE business_stmt; DEALLOCATE PREPARE business_stmt; SET @business_exists = (SELECT COUNT(*) FROM information_schema.statistics WHERE table_schema = DATABASE() AND table_name = 'mes_pro_batch' AND index_name = 'uk_business_code'); SET @business_ddl = IF(@business_exists = 0, 'ALTER TABLE mes_pro_batch ADD UNIQUE KEY uk_business_code (business_code)', 'SELECT 1'); PREPARE business_stmt FROM @business_ddl; EXECUTE business_stmt; DEALLOCATE PREPARE business_stmt;