fix(tradein): свести высоту потолков к одной колонке ceiling_height_m #2779

Merged
bot-backend merged 2 commits from fix/2699-ceiling-height into main 2026-08-07 09:18:49 +00:00
Showing only changes of commit 8df66ad740 - Show all commits

View file

@ -31,7 +31,8 @@
-- 3. numeric(5,2) против numeric(3,2): у 019-колонки потолок 9.99, и запись
-- out-of-range роняет ВЕСЬ батч DataError'ом (per-lot SAVEPOINT ловит только
-- IntegrityError) — это уже приходилось обходить инлайн-гейтом в yandex SERP.
-- 4. После переноса она — надмножество: 14 824 + 879 = 15 703 против 8 554.
-- 4. После переноса она — надмножество: 15 591 против 8 554 (посчитано
-- симуляцией на проде: 14 824 110 мусорных + 877 перенесённых).
--
-- ── ЧТО ДЕЛАЕТ ЭТА МИГРАЦИЯ ─────────────────────────────────────────────────
-- 1. Чистит невозможные значения в ОБЕИХ колонках (вне 2.06.0 м).
@ -62,9 +63,12 @@ UPDATE listings
AND ceiling_height NOT BETWEEN 2.0 AND 6.0;
-- ── 2. Перенос уникальных значений в канон ──────────────────────────────────
-- Ожидаемо 879 строк: 855 cian (писал только в 019-колонку) + 24 yandex (detail
-- записал, а SERP по этой карточке значения не дал). Пересечение переносить
-- нечего — значения там тождественны (см. замер выше), поэтому только IS NULL.
-- Ожидаемо 877 строк: 855 cian (писал только в 019-колонку) 2 мусорных,
-- отсеянных шагом 1, + 24 yandex (detail записал, а SERP по этой карточке
-- значения не дал). Пересечение переносить нечего — значения там тождественны
-- (см. замер выше), поэтому только IS NULL.
-- Итог после миграции (симуляция на проде 2026-08-07): ceiling_height_m = 15 591
-- непустых, из них 0 вне диапазона 2.06.0.
UPDATE listings
SET ceiling_height_m = ceiling_height
WHERE ceiling_height_m IS NULL