fix(bookings): исправлена генерация demodb и добавлен seed-дамп

- Зачем:
  - генерация с нуля занимала часы, boarding_passes были пустыми, данные
    пропадали после docker compose down/up.
- Что:
  - обновлён demodb до коммита 866e56f, добавлен патч install_connstr_no_hardcode.
  - BOOKINGS_INIT_DAYS увеличен до 60, BOOKINGS_JOBS по умолчанию 2.
  - добавлен seed-дамп bookings/seed/demo.sql.xz (42 MB, xz вместо 7z).
  - make bookings-init восстанавливает из дампа (~18 сек) и применяет GUC из .env.
  - make bookings-generate — генерация с нуля для разработчиков.
  - generate_next_day.sql: COMMIT после continue(), pg_sleep(3) для jobs>1, synchronous_commit=on + CHECKPOINT.
  - bookings-check-jobs: добавлена валидация нечисловых значений BOOKINGS_JOBS.
  - bookings-init теперь вызывает bookings-check-jobs как prerequisite.
  - синхронизированы внутренние документы (коммит demodb, init_days=60).
- Проверка:
  - make bookings-init && make bookings-generate-day BOOKINGS_JOBS=2.
  - make test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 15:01:03 +03:00
co-authored by Claude Opus 4.6
parent ae4aee3f66
commit 78fb8e372c
15 changed files with 222 additions and 68 deletions
+2 -2
View File
@@ -28,7 +28,7 @@
+ ручное тестирование (make up, запуск DAG'ов, проверка данных).
- [ ] Протестировать полный ETL-цикл с нуля
(make up → bookings-init → STG → ODS → DDS → DM)
(make up → bookings-init (восстановление из дампа) → STG → ODS → DDS → DM)
- [ ] Прогнать инкремент (bookings-generate-day → повторный запуск DAG'ов)
- [ ] Почистить код эталонного среза
- [ ] Актуализировать README и документацию
@@ -119,7 +119,7 @@
- диагностика текущего кейса: `docs/internal/pxf_bookings.md` (раздел «Известная проблема»).
- [x] Разобраться с генератором demodb:
- после `make bookings-init` таблица `bookings.bookings` остаётся пустой;
- после `make bookings-generate` таблица `bookings.bookings` остаётся пустой;
- патчи `bookings/patches/engine_jobs1_sync.patch` и `bookings/patches/install_drop_if_exists.patch`
падают при применении (hunk failed / garbage in patch);
- из‑за этого DAG `bookings_to_gp_stage` валится на проверках (источник пустой).