-- Migration 100: domrf_kn_flat_plans — планировки квартир (22c)
--
-- Хранит URL картинки планировки для каждой квартиры DOM.РФ.
-- Источник данных: каталог-квартир SSR-страница / flats_plans endpoint.
-- Скачивание бинарников — Celery task (future PR, 22d-track).
--
-- Phase 3 / #297 sub-task 22c.

BEGIN;

CREATE TABLE IF NOT EXISTS domrf_kn_flat_plans (
    ods_id          text PRIMARY KEY,
    obj_id          bigint NOT NULL,
    plan_image_url  text NOT NULL,
    local_path      text,
    width_px        int,
    height_px       int,
    size_bytes      int,
    downloaded_at   timestamptz,
    snapshot_date   date NOT NULL,
    scraped_at      timestamptz DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS domrf_kn_flat_plans_obj_idx
    ON domrf_kn_flat_plans (obj_id);

COMMENT ON TABLE domrf_kn_flat_plans IS
    'Планировки квартир DOM.РФ: URL изображения + метаданные после скачивания. '
    'PK = ods_id (совпадает с domrf_kn_flats.ods_id). '
    'Источник: каталог-квартир SSR / flats_plans endpoint. '
    'Issue #297 sub-task 22c.';

COMMENT ON COLUMN domrf_kn_flat_plans.ods_id IS
    'Идентификатор квартиры DOM.РФ (напр. 65136/1/1.4.3) — PK и FK на domrf_kn_flats.ods_id.';
COMMENT ON COLUMN domrf_kn_flat_plans.plan_image_url IS
    'Абсолютный URL картинки планировки с сервера DOM.РФ (cdn или основной домен).';
COMMENT ON COLUMN domrf_kn_flat_plans.local_path IS
    'Путь к локальной копии файла после скачивания (относительно MEDIA_ROOT или абсолютный).';
COMMENT ON COLUMN domrf_kn_flat_plans.downloaded_at IS
    'Момент успешного скачивания бинарника. NULL = ещё не скачан.';
COMMENT ON COLUMN domrf_kn_flat_plans.snapshot_date IS
    'Дата snapshot DOM.РФ, в котором впервые обнаружен URL.';

COMMIT;
