feat(market): grant gendesign_reader SELECT on contract views (#2138 step 1/3) #2147

Merged
lekss361 merged 1 commit from feat/market-reader-grant-views into main 2026-07-02 14:47:50 +00:00
Owner

Часть #2138 (Epic #2127), шаг 1/3 трека J. Аддитивный грант — сырые таблицы НЕ трогает (их REVOKE = шаг 3/3, после переключения ETL).

Что

155_reader_grants_to_contract_views.sql:

  • GRANT USAGE ON SCHEMA market TO gendesign_reader (идемпотентно)
  • GRANT SELECT на 5 contract-view: market.v_houses, v_house_sources, v_houses_price_dynamics, v_house_reliability_checks, v_house_reviews
  • BEGIN/COMMIT, idempotent, никаких REVOKE

Почему грант реально нужен (проверено живьём, docker exec, ROLLBACK-транзакция)

Миграция 105 сделала GRANT SELECT ON ALL TABLES IN SCHEMA market — но это одноразовый snapshot ДО создания view в 154. До этого PR у reader'а был доступ только к yandex_jk_enrichment, на v_*ни одного гранта. После GRANT: SET ROLE gendesign_reader; SELECT count(*) FROM market.v_houses → 11769. После ROLLBACK — чисто, прод не тронут.

Порядок трека J

1/3 (этот) GRANT view → 2/3 ETL-switch (gendesign читает v_*) → 3/3 REVOKE сырых. Revoke не поедет пока не подтверждён ETL на view.

Часть #2138 (Epic #2127), **шаг 1/3** трека J. Аддитивный грант — сырые таблицы НЕ трогает (их REVOKE = шаг 3/3, после переключения ETL). ## Что `155_reader_grants_to_contract_views.sql`: - `GRANT USAGE ON SCHEMA market TO gendesign_reader` (идемпотентно) - `GRANT SELECT` на 5 contract-view: `market.v_houses`, `v_house_sources`, `v_houses_price_dynamics`, `v_house_reliability_checks`, `v_house_reviews` - BEGIN/COMMIT, idempotent, никаких REVOKE ## Почему грант реально нужен (проверено живьём, docker exec, ROLLBACK-транзакция) Миграция 105 сделала `GRANT SELECT ON ALL TABLES IN SCHEMA market` — но это одноразовый snapshot ДО создания view в 154. До этого PR у reader'а был доступ только к `yandex_jk_enrichment`, на `v_*` — **ни одного гранта**. После GRANT: `SET ROLE gendesign_reader; SELECT count(*) FROM market.v_houses` → 11769. После ROLLBACK — чисто, прод не тронут. ## Порядок трека J 1/3 (этот) GRANT view → 2/3 ETL-switch (gendesign читает v_*) → 3/3 REVOKE сырых. Revoke не поедет пока не подтверждён ETL на view.
lekss361 added 1 commit 2026-07-02 14:47:43 +00:00
feat(market): grant gendesign_reader SELECT on contract views (#2138 step 1/3)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
6d1ab03ef7
lekss361 merged commit 03b3cb9fe4 into main 2026-07-02 14:47:50 +00:00
lekss361 deleted branch feat/market-reader-grant-views 2026-07-02 14:47:51 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2147
No description provided.