Zero-Downtime Django Deploys: Coordinating Code and Schema Changes Without a Maintenance Window

Your migration ran fine. Your tests passed. Production still went down for 90 seconds. Here’s why and how to actually fix it.