krona-staff/scripts
grok 5ac248660a test(db): стенд PostgreSQL с мигратором без SUPERUSER
Зачем: аудит показал, что 156 зелёных тестов на fakeDatabase не заметили,
что создание сотрудника, подтверждение смены и расчёт зарплаты всегда
падают на реальной PostgreSQL. Чтобы тесты и CI проверяли реальный SQL,
нужен воспроизводимый стенд с ролями как в pilot, но с минимальными
привилегиями:

- scripts/test/provision-pg.mjs: bootstrap-админ (только как DBA/entrypoint)
  создаёт krona_migrator (NOSUPERUSER NOCREATEDB NOCREATEROLE, владелец БД и
  схемы public) и krona_staff_app (NOSUPERUSER NOBYPASSRLS NOINHERIT); пароли
  crypto.randomBytes, пишутся только в env-файл 0600, в вывод не попадают.
  scripts/create-app-role.mjs здесь не используется, т.к. без SUPERUSER он
  падает (находка N6, продуктовый код не трогаем).
- scripts/test/migrate-roundtrip.mjs: up -> откат всех миграций -> up ->
  повторный up должен быть no-op; ролью мигратора, как требует AGENTS.md.

Проверено на PostgreSQL 17.11: 11 миграций применены, откачены, применены
повторно, третий up пустой.
2026-09-26 15:18:31 +07:00
..
test test(db): стенд PostgreSQL с мигратором без SUPERUSER 2026-09-26 15:18:31 +07:00
build-terminal-release.ps1 fix: read terminal release version reliably 2026-09-24 17:13:14 +07:00
check-contracts.mjs fix: enforce tenant isolation and runtime contracts 2026-09-18 01:34:12 +07:00
check-migrations.mjs feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
configure-terminal-pilot.ps1 feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
create-app-role.mjs feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
generate-vapid-keys.mjs fix(push): isolate employee data and preserve platform outbox 2026-09-26 12:31:10 +07:00
import-owner-workbook.py fix(import): provision workbook profession catalog 2026-09-24 21:25:13 +07:00
migrate.mjs fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00
migration-checksum.d.mts fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00
migration-checksum.mjs fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00