[tradein][database] Добавить houses.cian_zhk_url колонку — blocker для Cian newbuilding history backfill #568

Closed
opened 2026-05-25 06:02:33 +00:00 by lekss361 · 1 comment
Owner

Проблема

backend/app/tasks/cian_history_backfill.py (модуль docstring + line ~90):

TODO (PR #525): houses table has cian_internal_house_id (bigint) but no cian_zhk_url column. fetch_newbuilding() requires a ZHK URL.

Также TODO в backend/app/api/v1/admin.py.

Что сделать

  1. SQL migration data/sql/NNN_houses_add_cian_zhk_url.sql:
    ALTER TABLE houses ADD COLUMN IF NOT EXISTS cian_zhk_url TEXT;
    CREATE INDEX IF NOT EXISTS idx_houses_cian_zhk_url ON houses(cian_zhk_url) WHERE cian_zhk_url IS NOT NULL;
    
  2. Backfill: для houses с cian_internal_house_id IS NOT NULL — resolve URL через https://cian.ru/zhk/<id>/ redirect или прямой fetch.
  3. Удалить TODO из cian_history_backfill.py и admin.py.

Acceptance

  • Колонка существует, ≥ 80% houses с cian_internal_house_id IS NOT NULL имеют заполненный cian_zhk_url.
  • cian_history_backfill ходит по живым URL без 404.
## Проблема `backend/app/tasks/cian_history_backfill.py` (модуль docstring + line ~90): > TODO (PR #525): houses table has `cian_internal_house_id` (bigint) but no `cian_zhk_url` column. `fetch_newbuilding()` requires a ZHK URL. Также TODO в `backend/app/api/v1/admin.py`. ## Что сделать 1. SQL migration `data/sql/NNN_houses_add_cian_zhk_url.sql`: ```sql ALTER TABLE houses ADD COLUMN IF NOT EXISTS cian_zhk_url TEXT; CREATE INDEX IF NOT EXISTS idx_houses_cian_zhk_url ON houses(cian_zhk_url) WHERE cian_zhk_url IS NOT NULL; ``` 2. Backfill: для houses с `cian_internal_house_id IS NOT NULL` — resolve URL через `https://cian.ru/zhk/<id>/` redirect или прямой fetch. 3. Удалить TODO из `cian_history_backfill.py` и `admin.py`. ## Acceptance - Колонка существует, ≥ 80% houses с `cian_internal_house_id IS NOT NULL` имеют заполненный `cian_zhk_url`. - `cian_history_backfill` ходит по живым URL без 404.
lekss361 added the
tradein
label 2026-05-25 06:02:33 +00:00
Owner

Working on this in PR #627

Working on this in PR #627
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#568
No description provided.