-- migrations/009_pharmacies_daily.sql
-- Nöbetçi Eczane — Günlük kazıma tablosu
-- Çalıştır: node migrations/runner.js
-- VEYA: psql -U postgres -d nobetci_eczane -f migrations/009_pharmacies_daily.sql

CREATE TABLE IF NOT EXISTS pharmacies_daily (
  id            SERIAL       PRIMARY KEY,
  scrape_date   DATE         NOT NULL DEFAULT CURRENT_DATE,
  city          VARCHAR(100) NOT NULL,           -- "elazig", "istanbul" vb.
  district      VARCHAR(100),                    -- "merkez", "kadiköy" vb. — NULL = tüm il
  name          VARCHAR(255) NOT NULL,
  address       TEXT,
  phone         VARCHAR(50),
  directions    TEXT,                            -- Yol tarifi linki (varsa)
  raw_html      TEXT,                            -- Debug için orijinal satır HTML'i
  created_at    TIMESTAMP    DEFAULT NOW()
);

-- Aynı gün + şehir + ilçe + eczane adı kombinasyonu tekrar yazılmasın
CREATE UNIQUE INDEX IF NOT EXISTS pharmacies_daily_uq
  ON pharmacies_daily (scrape_date, city, COALESCE(district, ''), name);

-- Sorgu hızlandırma indeksi
CREATE INDEX IF NOT EXISTS pharmacies_daily_lookup
  ON pharmacies_daily (scrape_date, city, district);

-- Scraper çalışma logları
CREATE TABLE IF NOT EXISTS scraper_log (
  id          SERIAL      PRIMARY KEY,
  run_at      TIMESTAMP   DEFAULT NOW(),
  city        VARCHAR(100),
  district    VARCHAR(100),
  rows_saved  INT         DEFAULT 0,
  status      VARCHAR(20) DEFAULT 'ok',   -- 'ok' | 'error'
  message     TEXT
);
