Database Migrations Are the Riskiest Code You Ship
Application code that breaks can be rolled back in seconds. A migration that breaks has already changed your data. Migrations deserve more caution than any other code in your pipeline — and usually get less.