-- rearch3 部署迁移（对**已有** ai_op_queue 的库执行；新库直接跑 ai_op_queue.sql 即可）。
-- 与部署同批执行的完整清单：
--   1) 本文件（ai_op_queue 加 sMakePerson 双写列 + 状态协议改 状态三态+状态码）
--   2) sql/ai_chat_event.sql   （会话事件账本，新表）
--   3) sql/ai_skill.sql        （DROP 旧草稿表重建；⚠️ 建表瞬间即切断 war 包技能读取）
--   4) sql/ai_skill_seed.sql   （默认技能种子，必须与 3 同批执行）
ALTER TABLE ai_op_queue ADD COLUMN sMakePerson varchar(64) NULL AFTER sUserId;

-- 状态协议（状态码表见 ai_op_queue.sql 头部注释）：sStatus 三态 pending|success|fail + iStatusCode
ALTER TABLE ai_op_queue ADD COLUMN iStatusCode int NULL AFTER sStatus;
-- 存量行按旧→新映射（cancelled→fail+450；draft/confirmed→pending+100）
UPDATE ai_op_queue SET sStatus='pending', iStatusCode=100 WHERE sStatus IN ('draft','confirmed');
UPDATE ai_op_queue SET sStatus='pending', iStatusCode=101 WHERE sStatus='executing';
UPDATE ai_op_queue SET sStatus='success', iStatusCode=200 WHERE sStatus='executed';
UPDATE ai_op_queue SET sStatus='fail',    iStatusCode=500 WHERE sStatus='failed';
UPDATE ai_op_queue SET sStatus='fail',    iStatusCode=450 WHERE sStatus='cancelled';
