Master zero-downtime database migrations using expand-contract, dual writes, and backward-compatible schema changes