docs/7-DEVELOPMENT/decisions/ADR-006-migration-granularity.md
Multiple issues in the same release cycle can each need a schema migration. The intuitive worry: merging them one by one produces several small migrations (19, 20, 21, 22…) inside a single release, which "feels" messier than one consolidated migration per release.
Two facts about this project shape the decision:
_sbl_migrations. Users upgrading across any version span run all pending migrations transparently — they never see the count.v1-dev image is published on every push to main. A migration is therefore effectively released the moment it lands on main — dev-image users apply it immediately, before any versioned release exists.One migration per PR that needs one; numbers allocated in merge order; never consolidate after a migration has touched main.
_down counterpart, reviewed together with the code that requires it.v1-dev user whose _sbl_migrations already recorded the individual migrations, and it decouples schema changes from the PRs that explain them.