-- 海外仓换标字段增量(MySQL 8.0) -- 目标数据库:baiyue_lastleg -- 用途:为已有 ll_relabel_item 表补齐 FBA目的仓、箱唛/SKU/组合换标字段。 -- 说明:脚本可重复执行;不会修改或删除业务数据。 CREATE DATABASE IF NOT EXISTS baiyue_lastleg DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE baiyue_lastleg; DROP PROCEDURE IF EXISTS _tmp_add_relabel_fields; DELIMITER $$ CREATE PROCEDURE _tmp_add_relabel_fields() BEGIN IF NOT EXISTS ( SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'll_relabel_item' ) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'll_relabel_item 不存在,请先初始化 baiyue_lastleg 基线表'; END IF; IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'll_relabel_item' AND column_name = 'destination_fba_warehouse_code' ) THEN ALTER TABLE ll_relabel_item ADD COLUMN destination_fba_warehouse_code VARCHAR(128) NULL COMMENT 'FBA目的仓编码(与海外操作仓分离)'; END IF; IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'll_relabel_item' AND column_name = 'operation_type' ) THEN ALTER TABLE ll_relabel_item ADD COLUMN operation_type VARCHAR(32) NOT NULL DEFAULT 'CARTON_LABEL' COMMENT '换标模式:箱唛、SKU或组合换标'; END IF; IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'll_relabel_item' AND column_name = 'sku_relabel_items_json' ) THEN ALTER TABLE ll_relabel_item ADD COLUMN sku_relabel_items_json JSON NULL COMMENT '同箱SKU换标子明细快照(数量按件)'; END IF; END$$ DELIMITER ; CALL _tmp_add_relabel_fields(); DROP PROCEDURE IF EXISTS _tmp_add_relabel_fields; SELECT table_schema, table_name, column_name, column_type, is_nullable, column_default, ordinal_position, column_comment FROM information_schema.columns WHERE table_schema = 'baiyue_lastleg' AND table_name = 'll_relabel_item' AND column_name IN ('destination_fba_warehouse_code', 'operation_type', 'sku_relabel_items_json') ORDER BY ordinal_position;