SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;

USE hyapp_lucky_gift;

-- lucky_draw_pool_day_stats 增加策略族维度，供社交 BI「幸运礼物V3」tab 按 dynamic_v3 过滤。
-- 存量行（含迁移 003 从 hyapp_activity 导入的历史）全部产生于 fixed_v2 时代，列默认值即正确归因；
-- 不清数据、不动 draw_records_databi_day 游标，刷新循环从当前位置继续，新行由代码显式写策略值。
-- 主键需要纳入 strategy_version（AB 实验下同池同日两策略并存必须分行），
-- DROP/ADD PRIMARY KEY 走 INPLACE 在线重建；该表是天×区域×奖池×礼物量级的小汇总表，重建秒级。
SET @needs := (
  SELECT COUNT(*) = 0 FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'lucky_draw_pool_day_stats'
    AND COLUMN_NAME = 'strategy_version'
);

SET @ddl := IF(@needs,
  'ALTER TABLE lucky_draw_pool_day_stats
     ADD COLUMN strategy_version VARCHAR(32) NOT NULL DEFAULT ''fixed_v2'' COMMENT ''策略族 fixed_v2/dynamic_v3；AB 实验下同池同日会双行，BI 按策略过滤'' AFTER gift_id,
     DROP PRIMARY KEY,
     ADD PRIMARY KEY (app_code, stat_day, visible_region_id, pool_id, gift_id, strategy_version),
     ALGORITHM=INPLACE, LOCK=NONE',
  'SELECT 1'
);
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
