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:
parent
43b684e04f
commit
e33e593c99
1 changed files with 22 additions and 0 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue