-- 套餐与订阅（数字口径 = design/CLAUDE.md §7）
CREATE TABLE plans (
  id            BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  code          ENUM('free','pro','team') NOT NULL UNIQUE,
  max_devices   INT NOT NULL,                      -- free 1 / pro 5 / team 10
  daily_minutes INT NULL,                          -- free 10；NULL = 不限
  ad_gate       BOOLEAN NOT NULL DEFAULT FALSE     -- free 每日看广告解锁
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE subscriptions (
  id          BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  user_id     BIGINT UNSIGNED NOT NULL,
  plan_id     BIGINT UNSIGNED NOT NULL,
  expires_at  DATETIME(6) NOT NULL,
  source      ENUM('trial','code') NOT NULL,       -- 注册自动 7 天试用 source='trial'
  created_at  DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (plan_id) REFERENCES plans(id),
  INDEX idx_user_exp (user_id, expires_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
