<?php
/**
 * Migrație: cache local pentru cursurile de referință BNR.
 *
 * Cursurile publicate de BNR nu se mai schimbă niciodată pentru o zi trecută,
 * deci le ținem local și interogăm bnr.ro doar când chiar lipsește ceva.
 *
 *  - `bnr_rates` — un rând per (zi, monedă); `rate` e deja normalizat la 1 unitate
 *                  de valută (BNR publică unele cursuri la 100 de unități).
 *  - `bnr_fetch` — când am descărcat ultima oară fiecare fișier (an sau „latest”),
 *                  ca să nu batem serverul BNR la fiecare afișare.
 */
return function (PDO $db): void {
    $db->exec("CREATE TABLE IF NOT EXISTS bnr_rates (
        date     TEXT NOT NULL,
        currency TEXT NOT NULL,
        rate     REAL NOT NULL,
        PRIMARY KEY (date, currency)
    )");
    $db->exec("CREATE INDEX IF NOT EXISTS idx_bnr_rates_cur_date ON bnr_rates(currency, date)");

    $db->exec("CREATE TABLE IF NOT EXISTS bnr_fetch (
        source     TEXT PRIMARY KEY,
        fetched_at TEXT NOT NULL
    )");
};
