b4114c93ee
- 000001: users + devices(账户 / 设备,含 argon2id pw_hash、dp_uuid) - 000002: plans + subscriptions(套餐口径来自 design/CLAUDE.md §7) - 000003: code_batches + codes(SHA-256 code_hash,明文不入库) - 000004: usage_daily + audit_log(最小数据原则 + JSON meta) - 000005: providers + nodes(providers 先建,nodes FK 引用) - 000006: node_events(9 值 ENUM)+ directory_version(CHECK id=1,MySQL ≥ 8.0.16) - 000007: plans 三行 seed + directory_version(1,1),ON DUPLICATE KEY UPDATE 保可重入 所有表 ENGINE=InnoDB DEFAULT CHARSET=utf8mb4,时间列 DATETIME(6), 主键 BIGINT UNSIGNED AUTO_INCREMENT + 对外 uuid CHAR(36) UNIQUE。 每对 down 文件逆序 DROP(子表先于父表)。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 lines
1018 B
SQL
21 lines
1018 B
SQL
-- 套餐与订阅(数字口径 = 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;
|