Schema changes must be versioned and repeatable from the start.
## Scope
- Forward migration runner with ordered, versioned files
- Applied-migration tracking table
- Runs automatically on container start or via an explicit task target
- Safe to run repeatedly
## Acceptance criteria
- [ ] Migrations apply to an empty database to produce the current schema
- [ ] Re-running applies nothing and exits successfully
- [ ] Failure aborts with a clear message and leaves tracking consistent
---
Blocked by: #6, #8
keith
added this to the M2 - Data Model & Migrations milestone 2026-10-10 22:18:26 +00:00
Acceptance reconciliation at c1ef2ee: keeping open. PG fixtures execute production migrations, but direct rollback and clean-start migration acceptance must still be verified independently. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.
Acceptance reconciliation at c1ef2ee: keeping open. PG fixtures execute production migrations, but direct rollback and clean-start migration acceptance must still be verified independently. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Schema changes must be versioned and repeatable from the start.
Scope
Acceptance criteria
Blocked by: #6, #8
Acceptance reconciliation at
c1ef2ee: keeping open. PG fixtures execute production migrations, but direct rollback and clean-start migration acceptance must still be verified independently. This is a source/test review, not a newly executed crash or restore experiment. Fresh Windows suite: 291 tests, 1801 assertions, 22 skips; lint passes. PostgreSQL fixture success does not waive these feature criteria.