fix(tradein/ingest): раз-хардкод rosreestr DKP импорта на всю Свердловскую обл. (region 66) #2482

Merged
lekss361 merged 1 commit from fix/tradein-oblast-a1-ingest into main 2026-07-12 15:14:23 +00:00
Owner

Что

Раз-хардкод ночного импорта сделок Росреестра (ДКП) с ЕКБ-only на всю Свердловскую область (region_code=66) — первый шаг расширения Mera trade-in оценщика на регион.

Изменения

  • scheduler.py import_rosreestr_dkp (боевой путь, source='rosreestr_dkp_import'): снят фильтр city ILIKE '%катеринбург%'; address строится из реального city источника (было хардкод 'Екатеринбург, '); deals.region_code + новая deals.city заполняются из FDW-строки (region_code был NULL на всех 49 791 строках).
  • migration 177: deals.city text + индекс deals_city_deal_date_idx; бэкфилл существующих EKB-строк region_code=66, city='Екатеринбург' (все текущие rosreestr-строки импортированы старым EKB-only кодом → гарантированно ЕКБ). Idempotent (IF NOT EXISTS + самообезвреживающийся UPDATE).
  • guard city IS NOT NULL AND trim(city) <> '' — не даёт NULL-адреса для ~15 null-city строк источника.
  • sync deploy/import-rosreestr.sh (ручной ops-fallback, referenced в rosreestr_poll.py) под тот же oblast-scope — чтобы ручной прогон не ре-сужал скоуп.
  • split dedup-теста: test_migration_077_shared_filter_matches_live_import (6 общих клозов) + test_live_import_dropped_ekb_city_filter (077 историческая хранит city-фильтр, живой импорт — нет). Миграция 077 не тронута.

Эффект

Открывает +47 183 не-ЕКБ сделок region 66, уже сидящих в источнике gendesign_rosreestr_deals, ранее резавшихся на импорте. Реимпорт (A2) выполняется отдельно после деплоя.

Проверка

  • Полный tradein backend suite: 2364 passed, 0 failed (mirror CI).
  • ruff clean, dedup-тесты 8/8, shell syntax OK.
  • code review: ⚠️ minor (адресованы), без блокеров.

Часть плана расширения Mera на всю область; F (geocoder region-66) — параллельный PR; A2 (реимпорт) — data-op после деплоя.

## Что Раз-хардкод ночного импорта сделок Росреестра (ДКП) с ЕКБ-only на всю Свердловскую область (region_code=66) — первый шаг расширения Mera trade-in оценщика на регион. ## Изменения - **scheduler.py** `import_rosreestr_dkp` (боевой путь, source='rosreestr_dkp_import'): снят фильтр `city ILIKE '%катеринбург%'`; `address` строится из реального `city` источника (было хардкод `'Екатеринбург, '`); `deals.region_code` + новая `deals.city` заполняются из FDW-строки (region_code был NULL на всех 49 791 строках). - **migration 177**: `deals.city text` + индекс `deals_city_deal_date_idx`; бэкфилл существующих EKB-строк `region_code=66, city='Екатеринбург'` (все текущие rosreestr-строки импортированы старым EKB-only кодом → гарантированно ЕКБ). Idempotent (IF NOT EXISTS + самообезвреживающийся UPDATE). - guard `city IS NOT NULL AND trim(city) <> ''` — не даёт NULL-адреса для ~15 null-city строк источника. - sync `deploy/import-rosreestr.sh` (ручной ops-fallback, referenced в rosreestr_poll.py) под тот же oblast-scope — чтобы ручной прогон не ре-сужал скоуп. - split dedup-теста: `test_migration_077_shared_filter_matches_live_import` (6 общих клозов) + `test_live_import_dropped_ekb_city_filter` (077 историческая хранит city-фильтр, живой импорт — нет). Миграция 077 не тронута. ## Эффект Открывает **+47 183 не-ЕКБ сделок** region 66, уже сидящих в источнике `gendesign_rosreestr_deals`, ранее резавшихся на импорте. Реимпорт (A2) выполняется отдельно после деплоя. ## Проверка - Полный tradein backend suite: 2364 passed, 0 failed (mirror CI). - ruff clean, dedup-тесты 8/8, shell syntax OK. - code review: ⚠️ minor (адресованы), без блокеров. Часть плана расширения Mera на всю область; F (geocoder region-66) — параллельный PR; A2 (реимпорт) — data-op после деплоя.
lekss361 added 1 commit 2026-07-12 15:12:38 +00:00
fix(tradein/ingest): раз-хардкод rosreestr DKP импорта на всю обл. 66
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 51s
752cb1044b
- scheduler.py import_rosreestr_dkp: снят фильтр city ILIKE '%катеринбург%', address из реального city источника, deals.region_code + новая deals.city заполняются (было: хардкод 'Екатеринбург,' + region_code NULL)
- migration 177: deals.city + индекс + бэкфилл существующих EKB-строк region_code=66/city
- guard city IS NOT NULL → address не NULL для ~15 null-city строк источника
- sync deploy/import-rosreestr.sh (ops-fallback) под тот же oblast-scope
- split dedup-теста: 077 (историческая) хранит EKB-фильтр, живой импорт — нет

Открывает +47183 не-ЕКБ сделок region 66, уже сидящих в источнике, ранее резавшихся на импорте.
lekss361 merged commit 95f0b0aa64 into main 2026-07-12 15:14:23 +00:00
lekss361 deleted branch fix/tradein-oblast-a1-ingest 2026-07-12 15:14:23 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2482
No description provided.