Ivan Rossi

Migrations that can be stopped halfway

A migration you cannot abort is a deployment with a hostage. The useful question is not how long it takes, but what happens if you stop it at minute three.

Writing the rollback first changes the design. Suddenly you want the new column to be nullable, the backfill to be idempotent and the switch to be one small commit.

None of this is clever. It is just the difference between a Tuesday and an incident review.

← All posts