Schema Migrations
Changing the database's structure and data safely over time.
Backend Engineer
Junior
Write correct code, ship small changes safely, ask good questions.
Core: start here
- Schema MigrationA versioned script that changes the database schema.
2 more junior concepts
- Migration ToolsTools like Flyway, Alembic, Prisma Migrate and Rails migrations.
- Seed DataInitial data loaded for development or tests.
Mid-level
Own a feature end to end without hand-holding.
- BackfillFilling in data for existing rows after a change.
- Data MigrationMoving or transforming existing data.
- Rolling Back a MigrationUndoing a migration, and why some can't be undone.
Senior
Own a system, its failure modes, and its trade-offs.
Core: start here
- Expand-Contract MigrationAdd the new, migrate, then remove the old, across several deploys.
- Zero-Downtime MigrationChanging the schema while the app keeps serving traffic.
3 more senior concepts
- Migration LocksSchema changes that lock tables and take production down.
- Deploying Schema and Code TogetherOrdering migrations and code changes so neither breaks the other.
- Online Schema Change ToolsTools like gh-ost for altering huge tables safely.
Data Engineer
Junior
Build and fix pipelines from clear specs; write correct SQL.
Core: start here
- BackfillFilling in data for existing rows after a change.
3 more junior concepts
- Schema MigrationA versioned script that changes the database schema.
- Migration ToolsTools like Flyway, Alembic, Prisma Migrate and Rails migrations.
- Seed DataInitial data loaded for development or tests.
Mid-level
Own pipelines and models end to end, including their quality.
- Data MigrationMoving or transforming existing data.
- Rolling Back a MigrationUndoing a migration, and why some can't be undone.
Senior
Design the platform's storage, processing and modeling choices.
- Expand-Contract MigrationAdd the new, migrate, then remove the old, across several deploys.
- Migration LocksSchema changes that lock tables and take production down.
- Deploying Schema and Code TogetherOrdering migrations and code changes so neither breaks the other.
- Online Schema Change ToolsTools like gh-ost for altering huge tables safely.
- Zero-Downtime MigrationChanging the schema while the app keeps serving traffic.
Frontend Engineer
Junior
Build UI that works, ship small changes safely, ask good questions.
- Seed DataInitial data loaded for development or tests.