-- C2 安全修复(promo 限购 TOCTOU):CreateOrder 下单时的 HasPaidPurchase 只是裸
-- SELECT(无锁),并发/多挂起单可绕过「每账号限购一次」。这里加部分唯一索引兜底:
-- 同一 user_id 的 pro_month_promo 至多一条 status='paid'。sqlite 支持部分索引
-- (WHERE 子句),精确限定 sku='pro_month_promo'(目前唯一的 Promo=true 档位),
-- 不影响其余 SKU 正常复购。webhook.go settle 侧另有应用层复查作为第一道防线
-- (mysql 侧 000027 是 no-op,不支持部分索引——见 mysql 版本注释)。
CREATE UNIQUE INDEX ux_pay_promo_paid
  ON pay_purchases (user_id, sku)
  WHERE status = 'paid' AND sku = 'pro_month_promo';
