Have you ever done something so incredibly stupid that you questioned all your life choices? I did, so you don’t have to. Let me tell you a story of why it is important to have a set of rules and stick to them.
The task at hand All dates for the first 6 months of 2020 were already created Don't touch those that were already booked Edit all other dates and revert them to the original time slots Remove any superfluous fourth slot 9/37
How I would normally do it Deactivate OOC Copy production DB down to my machine Write small PHP program that fetches the corresponding rows Make the program spit out SQL statements Test those SQL statements on my machine Make sure everything went as planned Do stuff on the production DB Activate OOC 10/37
What happened next All 2020 timeslots were updated to 2020-01-07 09:00 - 10:30 That's about 400 rows Got a small export in Excel beforehand, just to be on the safe side Let's change 400 rows back to their initial state by hand 13/37
Steps to fix your fuck up 1. Stop right now. 2. Turn on maintenance mode. 3. Inform key users. 4. Request backup. 5. Restore and make sure you didn’t fuck up too much. Backups tend to be older than 5 minutes ago. 6. Don’t fuck up again. 7. Live on. 26/37
I fucked up at least two times in my 15+ years being a developer because I didn’t follow my own rules: 1. Copy production to local 2. Try stuff locally 3. Make sure everything went as expected 4. Then do stuff in production 5. Make sure you didn’t fuck up 6. Profit 36/37