Files
api-worker/apps/worker/migrations/0001_init.sql
T
lsy 1b0bc99a79 feat(usage): 扩展使用日志指标并优化管理台分页
- 记录首 token 延迟、stream、reasoning_effort 并更新迁移与 schema
- 管理台 Usage/Tokens/Channels 增强分页与展示字段
2026-02-16 17:54:57 +08:00

59 lines
1.3 KiB
SQL

CREATE TABLE IF NOT EXISTS channels (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
base_url TEXT NOT NULL,
api_key TEXT NOT NULL,
weight INTEGER NOT NULL DEFAULT 1,
status TEXT NOT NULL DEFAULT 'active',
rate_limit INTEGER DEFAULT 0,
models_json TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS tokens (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
key_hash TEXT NOT NULL,
key_prefix TEXT NOT NULL,
quota_total INTEGER,
quota_used INTEGER NOT NULL DEFAULT 0,
status TEXT NOT NULL DEFAULT 'active',
allowed_channels TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS usage_logs (
id TEXT PRIMARY KEY,
token_id TEXT,
channel_id TEXT,
model TEXT,
request_path TEXT,
total_tokens INTEGER,
prompt_tokens INTEGER,
completion_tokens INTEGER,
cost REAL,
latency_ms INTEGER,
first_token_latency_ms INTEGER,
stream INTEGER,
reasoning_effort TEXT,
status TEXT,
created_at TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS usage_logs_created_at ON usage_logs(created_at);
CREATE TABLE IF NOT EXISTS settings (
key TEXT PRIMARY KEY,
value TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS admin_sessions (
id TEXT PRIMARY KEY,
token_hash TEXT NOT NULL,
expires_at TEXT NOT NULL,
created_at TEXT NOT NULL
);