Database migrations without downtime are a superpower. Here's the playbook that's survived dozens of schema changes in production.
The core idea
Never change schema and code at the same time. Split every migration into phases where the old code and new code can both run against the same schema.
Adding a column
Phase 1: Add the column as nullable. Deploy.






