diff --git a/tradein-mvp/backend/data/sql/278_trade_in_estimates_public_token.sql b/tradein-mvp/backend/data/sql/278_trade_in_estimates_public_token.sql index 0b4445a6..f2fc98c4 100644 --- a/tradein-mvp/backend/data/sql/278_trade_in_estimates_public_token.sql +++ b/tradein-mvp/backend/data/sql/278_trade_in_estimates_public_token.sql @@ -19,6 +19,12 @@ -- -- Dependencies: trade_in_estimates (миграция 001+). -- Deploy order: применять после 277. +BEGIN; +-- Конвенция проекта (#2752): ALTER TABLE на ЖИВОЙ таблице берёт ACCESS +-- EXCLUSIVE, и без lock_timeout встанет в очередь за запросами приложения, +-- утащив их за собой. trade_in_estimates — таблица боевая (1123 строки на +-- 29.08), поэтому это не формальность. +SET LOCAL lock_timeout = '5s'; ALTER TABLE trade_in_estimates ADD COLUMN IF NOT EXISTS public_token_hash text, @@ -35,3 +41,5 @@ COMMENT ON COLUMN trade_in_estimates.public_token_hash IS 'sha256(hex) капабилити-токена бесплатной части (app/api/public/mera.py). Сам токен не хранится.'; COMMENT ON COLUMN trade_in_estimates.public_token_expires_at IS 'До какого момента работает GET /api/public/mera/estimate/{token}. Не связан с expires_at/retain_until.'; + +COMMIT;