Files
portal/app/database/migrations
Дмитрий 757f963929 fix(db): consolidate Plan 1 Tasks 1-5 into schema.sql (project convention)
Project convention использует schema.sql как single source of truth + один
load_initial_schema migration вместо incremental migrations. Мои 5 incremental
миграций конфликтовали с migrate:fresh: load_initial_schema применял
обновлённый schema.sql v8.16, а потом 000001-000005 пытались добавить уже
существующие колонки/таблицы (`signal_type already exists`).

Изменения:

- Удалены 5 incremental миграций 2026_05_10_00000{1..5}_*.
  Все DDL уже в schema.sql (v8.11 → v8.16, 4 commits 2ebe000/9b99d81/
  b08e1ed/7f694f7/9cf380f).
- В schema.sql lead_charges FK на partitioned deals(id, received_at)
  вынесен в самый конец файла (после section 5 с deals), DEFERRABLE
  INITIALLY DEFERRED. Иначе DB::unprepared() выдаёт "deals не существует"
  на load.
- Тесты в tests/Feature/Integration/ остаются — они проверяют
  структурные свойства (column existence, constraint name, RLS via
  pg_class) через information_schema, не зависят от того как именно
  schema создалась.

Verification:
- migrate:fresh OK на обеих БД (liderra + liderra_testing)
- Pest: 445 tests / 443 passed / 2 skipped / 0 failed
  (было 421 baseline + 24 новых для Tasks 1-5 = 443; +2 skipped browser tests)
- Larastan: 0 errors
- Pint: passed

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 13:50:39 +03:00
..