Forget Complex Migrations, Use Cleaning Lady Checklist

Found a typo? Edit me
This post is deprecated since May 2021. Its knowledge is old and should not be used.

The checklist would require more work to be useful. Also every migration is a bit different and requires specific list of steps.

We work on project that will include "Cleaning Lady List" spirit, but will handle the work for you - stay tuned for Rector Click.

Migration of legacy code base is a complex process. If we migrate spaghetti, one framework to another or remove dead-code from 120 k-lines project.

It's long, it's hard, it takes an expert to do it... that's bullshit. It should be simple, easy to understand and clear. Like the code we strive to write.

How could any programmer start migration today without any daunting studying?

Simplicity beats Unread Knowledge

I wrote few sum-up posts about migrations in general:

If you have 6 and 4 minutes to read them, read them. They sum up the experience that you can apply to most PHP projects. But most people don't have 10 minutes to spare.

I don't. I have 30 seconds to solve my problem.

"If you can't explain it simply,
you don't understand it well enough."
Albert Einstein

Look for a Pattern

When there is a new project to migrate or upgrade, I cooperate with the in-house team to perform the migration together.

After 15-20 such projects, I've noticed a pattern:

I was running towards sunset this Saturday, and a simple idea came to me. It felt great and made sense, so I sprint back to my home to scratch it down and shared it with you.

2 hours later... voilá 🎉

How to use it?


The checklist is my first non-PHP application in years, and I need your feedback to make it better.

Let me know how you use it or what steps you miss. Keep in mind these steps should generally be relevant to most PHP projects.

Happy coding!

Have you find this post useful? Do you want more?

Follow me on Twitter, RSS or support me on GitHub Sponsors.