-- +goose Up -- 客服手动录单:区分「收号 / 出号」两组客服。 -- entry_group: collect=收号, sell=出号;唯一约束从 entry_no 放宽为 (entry_no, entry_group), -- 同一编号允许收号、出号各登记一次。 -- cs_manual_entry_options.group_tag 给操作人选项打组别标记,录单选操作人后自动带出组别。 ALTER TABLE cs_manual_entries ADD COLUMN entry_group VARCHAR(16) NOT NULL DEFAULT 'collect' COMMENT '录单组别: collect=收号, sell=出号' AFTER entry_no, DROP KEY uk_cs_manual_entries_entry_no, ADD UNIQUE KEY uk_cs_manual_entries_entry_no_group (entry_no, entry_group), ADD KEY idx_cs_manual_entries_group (entry_group); ALTER TABLE cs_manual_entry_options ADD COLUMN group_tag VARCHAR(16) NOT NULL DEFAULT '' COMMENT '操作人组别标记: collect=收号, sell=出号, 空=未分组' AFTER name; -- +goose Down -- 注意:若升级后同一编号已在收号/出号两组各登记过,Down 恢复 entry_no 唯一键会因重复失败, -- 需先人工清理重复编号后再执行回滚。 ALTER TABLE cs_manual_entry_options DROP COLUMN group_tag; ALTER TABLE cs_manual_entries DROP KEY idx_cs_manual_entries_group, DROP KEY uk_cs_manual_entries_entry_no_group, ADD UNIQUE KEY uk_cs_manual_entries_entry_no (entry_no), DROP COLUMN entry_group;