5d29f03d50
- Moved boosapi-rs/* to repo root - Deleted all Node.js source (src/server/, src/web/, scripts/) - Deleted node_modules, package.json, tsconfig, vite.config - Updated .gitignore and AGENTS.md for Rust-only stack - Fixed static file path for frontend dist/web/ - Dockerfile stays the same (already Rust-only) - Kept dist/web/ for Rust static serving
38 lines
1.4 KiB
SQL
38 lines
1.4 KiB
SQL
-- Usage tracking tables migrated from the Node.js backend.
|
|
|
|
CREATE TABLE IF NOT EXISTS usage_logs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
downstream_key_id INTEGER,
|
|
model TEXT,
|
|
prompt_tokens INTEGER DEFAULT 0,
|
|
completion_tokens INTEGER DEFAULT 0,
|
|
total_tokens INTEGER DEFAULT 0,
|
|
cost REAL DEFAULT 0.0,
|
|
created_at TEXT DEFAULT (datetime('now')),
|
|
FOREIGN KEY (downstream_key_id) REFERENCES downstream_api_keys(id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS usage_logs_downstream_key_created_idx
|
|
ON usage_logs (downstream_key_id, created_at);
|
|
|
|
CREATE INDEX IF NOT EXISTS usage_logs_created_idx
|
|
ON usage_logs (created_at);
|
|
|
|
CREATE TABLE IF NOT EXISTS usage_daily_snapshots (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
local_day TEXT NOT NULL,
|
|
downstream_key_id INTEGER,
|
|
request_count INTEGER NOT NULL DEFAULT 0,
|
|
prompt_tokens INTEGER NOT NULL DEFAULT 0,
|
|
completion_tokens INTEGER NOT NULL DEFAULT 0,
|
|
total_tokens INTEGER NOT NULL DEFAULT 0,
|
|
total_cost REAL NOT NULL DEFAULT 0.0,
|
|
created_at TEXT DEFAULT (datetime('now')),
|
|
updated_at TEXT DEFAULT (datetime('now')),
|
|
UNIQUE(local_day, downstream_key_id),
|
|
FOREIGN KEY (downstream_key_id) REFERENCES downstream_api_keys(id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS usage_daily_snapshots_day_idx
|
|
ON usage_daily_snapshots (local_day);
|