Zero-downtime Postgres migrations – the hard parts — GoCardless Blog