-- 套餐与订阅(数字口径 = 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;