-- Step 17 : cache persistant recherche YouTube (scrape + API) + métriques quota journalières. CREATE TABLE IF NOT EXISTS youtube_search_cache ( q_hash TEXT PRIMARY KEY, q TEXT NOT NULL, payload_json TEXT NOT NULL, source TEXT NOT NULL DEFAULT 'scrape', created_at INTEGER NOT NULL, expires_at INTEGER NOT NULL ); CREATE INDEX IF NOT EXISTS idx_yt_cache_exp ON youtube_search_cache(expires_at); CREATE TABLE IF NOT EXISTS youtube_metrics ( day TEXT PRIMARY KEY, scrape_calls INTEGER NOT NULL DEFAULT 0, api_calls INTEGER NOT NULL DEFAULT 0, quota_units INTEGER NOT NULL DEFAULT 0, updated_at TEXT NOT NULL );