All projects
backend apis
A schema you can migrate without downtime
Practise the expand-and-contract pattern on a table with live traffic.
Why it matters
Renaming a column in production has taken down more companies than any algorithm question. Knowing the expand-contract dance is directly, obviously employable.
What you build
- A migration that runs against live traffic
- The expand and contract phases, separately deployable
- A backfill that does not lock the table
- A rollback you have actually tested
If you want more
- Automate the backfill in batches
- Add a migration lint rule
Build it
Both shapes must be valid at once, because both versions of the app will be running.
- Write to both, read from the old
- Switch reads to the new column
- Drop the old column in a later deploy
Material for the whole build
Shows you can evolve a running system, which is most of the job and almost never in a portfolio.
Get a plan built around projects like this