Expand and contract
Also called Parallel change
Making a breaking change in safe steps. Add the new thing alongside the old, have the code write to both, copy the old data over, move reads across, stop using the old, and only then remove it. At each step the old and the new code both work.
Told to rename a column, an agent will rename the column. Told "use expand and contract, as separate pull requests", it will produce a sequence you can pause and reverse. It feels slow, and it's the difference between a dull week and an outage. Agents make the tedious version cheap, so there's little excuse left.
“Rename users.name to full_name using expand and contract, as separate pull requests. One: add the column. Two: write to both. Three: backfill in batches of 1000. Four: read from the new one. Five: stop writing the old one. Six, at least a week later: drop it. Each must be safe to roll back alone.”