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>
20 lines
899 B
SQL
20 lines
899 B
SQL
-- 节点事件:状态迁移与判封依据(探针明细在 Redis,结论落库)
|
|
CREATE TABLE node_events (
|
|
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
|
node_id BIGINT UNSIGNED NOT NULL,
|
|
event ENUM('provisioned','probe_pass','probe_fail','marked_up','draining',
|
|
'blocked_suspect','blocked_confirmed','replaced','destroyed') NOT NULL,
|
|
detail JSON NULL, -- 探针命中率、判封依据等
|
|
at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
|
FOREIGN KEY (node_id) REFERENCES nodes(id),
|
|
INDEX idx_node_at (node_id, at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- 目录版本:nodes 任何变更 bump,客户端 if_version 灰度
|
|
-- CHECK (id = 1) 需要 MySQL >= 8.0.16
|
|
CREATE TABLE directory_version (
|
|
id TINYINT PRIMARY KEY DEFAULT 1,
|
|
version BIGINT UNSIGNED NOT NULL,
|
|
CHECK (id = 1)
|
|
) ENGINE=InnoDB;
|