-- 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);