fix(tradein): миграция публичного токена без lock_timeout — гейт #2752
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 11s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m53s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 11s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m53s
278 делает ALTER TABLE trade_in_estimates ADD COLUMN + CREATE UNIQUE INDEX на ЖИВОЙ таблице (1123 строки на проде). ALTER берёт ACCESS EXCLUSIVE: без lock_timeout он встал бы в очередь за запросами приложения и утащил их за собой. Обёрнуто в BEGIN + SET LOCAL lock_timeout = '5s' + COMMIT по образцу 272_houses_region_code.sql.
This commit is contained in:
parent
dcfea2ad39
commit
6255eccc7c
1 changed files with 8 additions and 0 deletions
|
|
@ -19,6 +19,12 @@
|
||||||
--
|
--
|
||||||
-- Dependencies: trade_in_estimates (миграция 001+).
|
-- Dependencies: trade_in_estimates (миграция 001+).
|
||||||
-- Deploy order: применять после 277.
|
-- 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
|
ALTER TABLE trade_in_estimates
|
||||||
ADD COLUMN IF NOT EXISTS public_token_hash text,
|
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). Сам токен не хранится.';
|
'sha256(hex) капабилити-токена бесплатной части (app/api/public/mera.py). Сам токен не хранится.';
|
||||||
COMMENT ON COLUMN trade_in_estimates.public_token_expires_at IS
|
COMMENT ON COLUMN trade_in_estimates.public_token_expires_at IS
|
||||||
'До какого момента работает GET /api/public/mera/estimate/{token}. Не связан с expires_at/retain_until.';
|
'До какого момента работает GET /api/public/mera/estimate/{token}. Не связан с expires_at/retain_until.';
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue