-- District Source Network V3.4 — additive migration
ALTER TABLE scrape_sources
    ADD COLUMN IF NOT EXISTS publisher_key VARCHAR(80) NULL AFTER coverage_km,
    ADD COLUMN IF NOT EXISTS source_scope VARCHAR(30) NULL AFTER publisher_key,
    ADD COLUMN IF NOT EXISTS health_status VARCHAR(20) NOT NULL DEFAULT 'unchecked' AFTER source_scope,
    ADD COLUMN IF NOT EXISTS http_status SMALLINT NULL AFTER health_status,
    ADD COLUMN IF NOT EXISTS last_health_at DATETIME NULL AFTER http_status,
    ADD COLUMN IF NOT EXISTS last_health_error VARCHAR(1000) NULL AFTER last_health_at;

CREATE INDEX IF NOT EXISTS idx_scrape_publisher_scope ON scrape_sources(publisher_key, source_scope);
CREATE INDEX IF NOT EXISTS idx_scrape_district_scope ON scrape_sources(district_key, source_scope);
