Day 29 10 min
Deploying without downtime
1 / 6 · ≈ 15 min left
The problem
A food delivery app renames the column orders.address to orders.shipping_address. The migration and the new code ship together at 11:00 on a weekday.
The migration runs first and takes a second. The new code then rolls out to 40 servers, 4 at a time. For 9 minutes, the servers still on the old code send SELECT address FROM orders, and PostgreSQL rejects every one of those queries because the column is gone.
The team now wants releases that change the schema and the code with no failed request.