SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 资源组任务必须保存 wallet owner 的不可变快照引用；这里只在三张任务热表尾部追加定长字段。
-- MySQL 8 的 INSTANT 变更不复制数据页，只需要获取短暂 metadata lock，避免随任务历史量线性放大迁移耗时。
ALTER TABLE task_definitions
  ADD COLUMN reward_snapshot_id VARCHAR(96) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照 ID',
  ADD COLUMN reward_snapshot_hash CHAR(64) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照内容哈希',
  ALGORITHM=INSTANT;

ALTER TABLE user_task_progress
  ADD COLUMN reward_snapshot_id VARCHAR(96) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照 ID',
  ADD COLUMN reward_snapshot_hash CHAR(64) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照内容哈希',
  ALGORITHM=INSTANT;

ALTER TABLE task_reward_claims
  ADD COLUMN reward_snapshot_id VARCHAR(96) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照 ID',
  ADD COLUMN reward_snapshot_hash CHAR(64) NOT NULL DEFAULT '' COMMENT '资源组 owner 快照内容哈希',
  ALGORITHM=INSTANT;
