When inheriting an unmaintained legacy Symfony application, the real question is not “how to migrate”, but rather “where to start without breaking everything”.
In this talk, I share an honest retrospective of a Symfony migration carried out in production, on an aging application with limited documentation, few tests, and dependencies on components that are now obsolete.
Through this journey, I offer a reading of the battlefield: risk areas, false good ideas, and decisions that seem obvious on paper… but turn out to be dangerous once confronted with real-world constraints.
In particular, we will cover:
- How to step back from an unmaintained legacy codebase and identify the real problems
- The false good ideas we encountered during Symfony legacy migrations
- Common mistakes observed in the field, and how to avoid or mitigate them
- Small levers that make a big difference (order of actions, scope, tools, trade-offs)
- Key lessons learned from this migration: what we would do again, and what we would clearly avoid
This talk is aimed at developers working with inherited Symfony applications, often business-critical, who must move forward with limited visibility and very little room for error.
The goal is not to promote a perfect or universal method, but to share a real, lived experience, and provide attendees with concrete reference points, clarity, and practical tips they can apply to their own migrations.