A better title is "Once you start keeping financial state, there are no rollbacks". The current title might as well be click bait.
How did you miss something so close to the beginning of the article? I’d love to hear how you “restore from backup” all the external systems that data propagates to.
Tbh the article's actual example is stupid, if I desperately need to rollback that change I'd just take a backup of that table and change the new types back to the main payment method, 'Stripe'. When we've got it fixed and redeploy the changes, change them back.
Problem solved in two SQL queries.
Not sure if the author's never had to deal with a problem like this before, but his 'impossible' problem's got a bloody obvious solution.
SELECT * INTO _paymentsbackup FROM payments WHERE PaymentType in (3, 4)
UPDATE payments SET PayemntType = 1 WHERE PaymentType in (3, 4)