diff --git a/data/sql/147_location_demand_comment.sql b/data/sql/147_location_demand_comment.sql new file mode 100644 index 00000000..ed94cb46 --- /dev/null +++ b/data/sql/147_location_demand_comment.sql @@ -0,0 +1,20 @@ +-- 147_location_demand_comment.sql +-- #948 / #1167: demand_index перешёл с saturating-АБСОЛЮТНОЙ нормировки +-- (clamp01(unit_velocity / 50), фикс. константа) на CITY-RELATIVE: район / +-- max-скорость по городу за прогон refresh_locations (зеркало infra_index). +-- +-- Причина: на live-прогоне ВСЕ 8 районов ЕКБ давали demand=1.0 (каждый продаёт +-- ≥50 кв/мес → индекс насыщался в 1.0 везде → ноль дискриминации). См. PR #1167. +-- +-- Эта миграция ТОЛЬКО синхронизирует DB-комментарий столбца с новым кодом — старый +-- текст «насыщающее преобразование» теперь врёт (ровно класс «вводящего в +-- заблуждение комментария», который и спрятал баг). Idempotent: COMMENT ON +-- безопасен к повторному применению; никакого DDL над данными. +-- +-- Deploy: auto-applied deploy.yml через _schema_migrations (ровно один раз по NN). +-- Требует таблицу `location` из 146 (147 > 146 лексикографически → применяется после). + +COMMENT ON COLUMN location.demand_index IS + 'Индекс спроса 0..1: city-relative нормировка market_metrics.unit_velocity ' + '(скорость продаж района / max-скорость по городу за прогон refresh_locations). ' + 'NULL при недостатке данных (никогда не фабрикуем 0).';