docs(e2e): K18 — восстановление в кластер без ролей

Почему: backup.sh снимает только pg_dump -Fc одной БД, без ролей (globals). Проверено на
временном кластере PG17 без ролей krona_*: pg_restore exit=1, 61 ошибка «role krona_migrator does
not exist», данные есть, владелец — postgres. В пилоте роли, вероятно, создаются при инициализации
контейнера (POSTGRES_USER, docker/postgres/init-app-role.sh) — без Docker не проверено.
This commit is contained in:
grok 2026-09-26 17:12:38 +07:00
parent 43b684e04f
commit e33e593c99

View file

@ -105,6 +105,28 @@ $ E2E_DATABASE_NAME=krona_diag_rehome_e2e node scripts/test/run-e2e.mjs
✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME-SEED] сиды покрывают все таблицы с tenant_id (список из information_schema) 177ms ✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME-SEED] сиды покрывают все таблицы с tenant_id (список из information_schema) 177ms
✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME] --dry-run, перенос админом, сверка, повторный запуск отказывает 460ms ✓ tests/e2e/60-pilot-rehome.e2e.ts > PILOT-REHOME: перенос заглушки арендатора на настоящий tenant > [PILOT-REHOME] --dry-run, перенос админом, сверка, повторный запуск отказывает 460ms
## 5. Восстановление в «голый» кластер (ролей нет)
Тот же `pg_dump -Fc` (источник krona_k18_src, владелец таблиц krona_migrator, как в стенде e2e),
восстановление во временный кластер PG17 (initdb, порт 55439), где ролей krona_* нет:
```text
$ createdb krona_staff (свежий кластер PG17, ролей krona_* нет) && pg_restore --exit-on-error -d krona_staff d.dump
pg_restore: error: could not execute query: ERROR: role "krona_migrator" does not exist
Command was: ALTER SCHEMA public OWNER TO krona_migrator;
exit=1
$ pg_restore без --exit-on-error (как по умолчанию)
exit=1
ошибок: 61
pg_restore: error: could not execute query: ERROR: role "krona_migrator" does not exist
154 # staff_employees: строки восстановлены
postgres # владелец staff_employees
0 # ролей krona_* в кластере
```
В пилоте владелец — POSTGRES_USER, а krona_staff_app создаёт `docker/postgres/init-app-role.sh`
при инициализации контейнера — там роли, вероятно, будут; без Docker не проверено.
### Исходный код адаптера (вариант 2) ### Исходный код адаптера (вариант 2)
```js ```js