1.5 KiB
1.5 KiB
Migration Checklist
Use this checklist for every schema/data migration.
1. Design Review
- Define change type:
expand,backfill,contract. - Document expected lock behavior and index impact.
- Confirm backward compatibility with currently deployed app version.
- Define rollback strategy before implementation.
2. Pre-Migration Controls
- Capture a fresh backup before applying migration.
- Confirm migration head revision and working tree cleanliness.
- Prepare validation queries for new/changed tables and indexes.
- Identify high-risk tables (large row count, hot write paths).
3. Implementation Standards
- Keep migrations idempotent when feasible.
- Prefer additive steps first (
nullable, new index, new table). - For destructive changes, separate into later contract migration.
- Avoid large blocking rewrites in a single deployment step.
4. Verification
- Apply migration in staging against production-like snapshot.
- Verify:
- expected tables/columns/indexes,
- app startup and health endpoint,
- affected API flows,
- data consistency queries.
5. Rollout and Recovery
- Apply migration during planned window.
- Monitor logs/errors and DB metrics during rollout.
- If rollback needed:
- follow downgrade/recovery runbook,
- restore from backup if downgrade is unsafe,
- document incident timeline.
6. Post-Migration Tasks
- Update
README.md/.env.example/ ops docs. - Add/update integration tests for new schema assumptions.
- Record migration notes in changelog.