TODO: Migration Testing in CI for pal-e-docs
TODO: Migration Testing in CI for pal-e-docs
Context
The pal-e-docs Alembic migration crash (2026-02-26) deployed a migration that failed against production SQLite. The migration was never tested against a real database before hitting prod.
What's needed
Add a Woodpecker CI step that runs
alembic upgrade head against a seeded database (not just empty) before merge. This catches migration failures in CI instead of production.Details
- Woodpecker pipeline step: spin up a test database (SQLite file or Postgres container, depending on current DB), seed with representative data, run migrations
- Must test against non-empty tables — empty-database migrations always succeed
- Once pal-e-docs moves to Postgres (see
tf-postgres-strategy), this should test against Postgres specifically - Consider: Woodpecker service container for Postgres, or use the CloudNativePG test pattern
Origin
Split from
todo-deployment-safety — platform-level items (rollback, alerting, deployment protection) are covered by platform plans. This app-level CI item stays with pal-e-docs.