-- +goose Up CREATE TABLE IF NOT EXISTS providers ( id TEXT PRIMARY KEY, name TEXT NOT NULL, api_key TEXT NOT NULL, base_url TEXT NOT NULL, enabled INTEGER DEFAULT 1, created_at DATETIME, updated_at DATETIME ); CREATE TABLE IF NOT EXISTS models ( id TEXT PRIMARY KEY, provider_id TEXT NOT NULL, model_name TEXT NOT NULL, enabled INTEGER DEFAULT 1, created_at DATETIME, FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS usage_stats ( id INTEGER PRIMARY KEY AUTOINCREMENT, provider_id TEXT NOT NULL, model_name TEXT NOT NULL, request_count INTEGER DEFAULT 0, date DATE NOT NULL, UNIQUE(provider_id, model_name, date) ); -- +goose Down DROP TABLE IF EXISTS usage_stats; DROP TABLE IF EXISTS models; DROP TABLE IF EXISTS providers;