From 16e3d5c86d70df688d14b038af85c59a0d97dee6 Mon Sep 17 00:00:00 2001 From: lekss361 Date: Sun, 17 May 2026 15:07:24 +0000 Subject: [PATCH] =?UTF-8?q?feat(22f):=20domrf=5Fobj=5Fchecks=20table=20?= =?UTF-8?q?=E2=80=94=206=20"=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BD=D0=B0=20=D0=BD=D0=B0=D1=88.=D0=B4=D0=BE?= =?UTF-8?q?=D0=BC.=D1=80=D1=84"=20checks=20(#303)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/sql/111_22f_domrf_obj_checks.sql | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 data/sql/111_22f_domrf_obj_checks.sql diff --git a/data/sql/111_22f_domrf_obj_checks.sql b/data/sql/111_22f_domrf_obj_checks.sql new file mode 100644 index 00000000..d5b413d0 --- /dev/null +++ b/data/sql/111_22f_domrf_obj_checks.sql @@ -0,0 +1,49 @@ +-- Migration: 111_22f_domrf_obj_checks.sql +-- Context: Issue #297 sub-task 22f — "Проверено на наш.дом.рф" 6 checks per obj +-- Dependencies: domrf_kn_objects (obj_id values come from there; no FK enforced — obj_id +-- is a bigint key, not a FK, to allow scraping checks before obj row exists) +-- Deploy order: standalone — no prior migration required +-- Idempotent: yes (IF NOT EXISTS throughout) + +BEGIN; + +CREATE TABLE IF NOT EXISTS domrf_obj_checks ( + obj_id bigint NOT NULL, + check_type text NOT NULL, + -- check_type values: no_problems / docs / timing / photos / bankruptcy / declaration + passed bool NOT NULL, + checked_at timestamptz NOT NULL DEFAULT NOW(), + scraped_at timestamptz NOT NULL DEFAULT NOW(), + PRIMARY KEY (obj_id, check_type) +); + +CREATE INDEX IF NOT EXISTS domrf_obj_checks_obj_idx + ON domrf_obj_checks (obj_id); + +COMMENT ON TABLE domrf_obj_checks IS + '6 проверок «Проверено на наш.дом.рф» per obj_id: ' + 'no_problems, docs, timing, photos, bankruptcy, declaration. ' + 'Issue #297 sub-task 22f.'; + +COMMENT ON COLUMN domrf_obj_checks.obj_id IS + 'DOM.РФ объект (кн-объект); из domrf_kn_objects.obj_id.'; + +COMMENT ON COLUMN domrf_obj_checks.check_type IS + 'Тип проверки. Допустимые значения: ' + 'no_problems — у застройщика нет проблемных объектов; ' + 'docs — опубликован полный комплект документов; ' + 'timing — сроки строительства соблюдены; ' + 'photos — актуальные фото хода строительства; ' + 'bankruptcy — застройщик не банкрот; ' + 'declaration — проектная декларация обновлена.'; + +COMMENT ON COLUMN domrf_obj_checks.passed IS + 'TRUE = чек пройден (зелёная галочка на наш.дом.рф).'; + +COMMENT ON COLUMN domrf_obj_checks.checked_at IS + 'Дата/время актуальности чека по данным DOM.РФ (берётся из payload).'; + +COMMENT ON COLUMN domrf_obj_checks.scraped_at IS + 'Дата/время последнего scrape, когда строка была записана/обновлена.'; + +COMMIT;