gendesign/tradein-mvp/backend/data/sql/167_drop_client_pii.sql
bot-backend 6f170504ba
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / changes (pull_request) Successful in 10s
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m21s
CI Trade-In / backend-tests (pull_request) Successful in 1m46s
fix(tradein/pii): удалить телефоны продавцов (NULL) + PII клиента (DROP) (#2217, #1969)
- listings.phones: миграция 166 обнуляет данные; cian.py + scraper-kit
  serp.py (golden-parity зеркало) перестают читать offer.get("phones") на
  входе — write-path выключен у источника, колонка/поле в модели остаются.
  Мёртвая запись "phones" в LISTING_FIELD_PRIORITY убрана.
- trade_in_estimates.client_name/client_phone: миграция 167 дропает колонки;
  синхронно убраны из TradeInEstimateInput, обоих INSERT в estimator.py
  (основной путь + _empty_estimate), frontend TradeInEstimateInput и
  CRM-блока EstimateForm (поля "Имя клиента"/"Телефон").
- sentry_scrub.py и management_companies.phones не тронуты — вне scope.
2026-07-03 23:00:42 +03:00

24 lines
1.2 KiB
PL/PgSQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 167_drop_client_pii.sql
--
-- PII PURGE (#1969): client_name / client_phone в trade_in_estimates.
-- ПРОДУКТОВОЕ РЕШЕНИЕ (user): DROP COLUMN (не NULL-обнуление, как для
-- listings.phones в 166 — здесь колонки не нужны совсем, CRM-поля
-- ownership_type/has_mortgage остаются). client_email физически не
-- существует (только имя в Sentry-scrub allowlist app/observability/
-- sentry_scrub.py) — трогать нечего кроме этих двух реальных колонок.
--
-- ЗАВИСИМОСТИ: нет VIEW / индексов на эти колонки (проверено разведкой
-- перед миграцией) — DROP безопасен.
--
-- Backend-код (app/schemas/trade_in.py, app/services/estimator.py — оба
-- INSERT INTO trade_in_estimates) деплоится синхронно с этой миграцией.
--
-- ИДЕМПОТЕНТНОСТЬ: DROP COLUMN IF EXISTS -> повторный прогон no-op.
BEGIN;
ALTER TABLE trade_in_estimates
DROP COLUMN IF EXISTS client_name,
DROP COLUMN IF EXISTS client_phone;
COMMIT;