1. Read the code and the schema
We need read-only access to the code and a copy of the schema. We record versions and extensions, and look for the items that decide scope: the database layer, encrypted data, encoding, and connections to other systems. You get a written recommendation, and a fixed price if you want one.
2. Agree what must not change
Together with the people who use the system, we list the workflows and totals that have to come out the same. This list decides how the new system will be judged, so it comes before any new code.
3. Move the database as its own piece of work
Old MySQL has a route of its own, and data is validated at each step. Our MySQL 5 to 8 checklist shows what we look at.
4. Build or upgrade, then compare
We run the agreed workflows on old and new and compare the results. Differences get investigated rather than assumed to be improvements, since the old behaviour is sometimes a rule nobody remembers making.
5. Rehearse, cut over and stay close
We recommend rehearsing the cutover on a copy, so the window is measured rather than estimated. It can be set up as a zero-downtime deployment where the system allows it, and we agree a way back with you first. After that, the system can move to our maintenance plan or to your own team.