24 lines
780 B
Markdown
24 lines
780 B
Markdown
# Policy: one DB migration per PR
|
|
|
|
## Rule
|
|
If a pull request adds migration files under:
|
|
|
|
- `backend/migrations/versions/*.py`
|
|
|
|
…then it must add **no more than one** migration file.
|
|
|
|
## Why
|
|
- Makes review and rollback simpler.
|
|
- Reduces surprise Alembic multiple-head situations.
|
|
- Keeps CI/installer failures easier to debug.
|
|
|
|
## Common exceptions / guidance
|
|
- If you have multiple Alembic heads, prefer creating **one** merge migration.
|
|
- If changes are unrelated, split into multiple PRs.
|
|
|
|
## CI enforcement
|
|
CI runs `scripts/ci/one_migration_per_pr.sh` on PRs and fails if >1 migration file is added.
|
|
|
|
## Notes
|
|
This policy does not replace the existing migration integrity gate (`make backend-migration-check`). It is a lightweight guardrail to prevent multi-migration PRs.
|