I want to update my code to simply remove the few unnecessary uses of hand-coded serialization. This is a fairly straightforward process that involves reading the old settings data, updating it to the new format, and saving it back to the database.
Except... not so much.
A lot needs to be considered when making this change. First, of course, is that 20,000 sites use these settings. Any change has to be robust, redundant, recoverable, and fairly transparent.
It has to have some kind of pre-migration backup process and a failure recovery process. It has to work no matter what order the settings are accessed and saved. Every setting that's updated, checked, and resaved has to be converted throughout 12,000+ lines of code.
Edge conditions need to be identified, tested for, and factored into the code so that no site fails. Some level of version management has to be added to the settings data so that newer versions of the code know what to convert, and older versions of code on other sites don't break.
It's a lot. This is not starting from scratch and making some sort of pretty site using AI. This is modifying code in existing installations and making sure every site is able to safely update.
Read more | ZD NET