joschi127/doctrine-entity-override-bundle
A Symfony bundle that lets you override Doctrine entities and their mappings from third-party bundles without touching vendor code. Extend or replace entity classes, customize mappings, and keep your changes clean and upgrade-safe—no more forking vendor packages.
ResolveTargetEntityListener, bundle-level mapping overrides in config/packages/doctrine.yaml). A spike against this package tells you whether it saves meaningful effort over native Doctrine configuration or is just a thin convenience wrapper — that determines build vs. depend.Relevance caveat for the PM: despite the framing, this is not a Laravel package. It is a Symfony bundle for Doctrine ORM. It has no applicability to a Laravel/Eloquent codebase. Only act on this if you maintain a Symfony service.
Consider it only when all of the following hold:
Look elsewhere — or stop — when:
ResolveTargetEntityListener and bundle mapping overrides first. If they cover 90% of the need, the correct decision is "don't add a dependency for a config problem," and the spike output is documentation for your own engineers.One line: A small, unmaintained (2019) MIT-licensed Symfony bundle that lets a downstream application override Doctrine entities through inheritance instead of forking the upstream bundle — technically interesting, operationally risky, and not applicable to our Laravel stack.
For executives: This is not a purchase or a build decision — it is a design reference. It shows one pattern for "customers can extend our data model without forking us," which is a recurring theme in our extensibility roadmap. Recommendation: no adoption; spend at most a short spike to see whether Doctrine's built-in entity-resolution features already cover the same ground for free. Zero cost either way, no vendor lock-in, no dependency on an unmaintained repo.
For engineering: Evaluate against ResolveTargetEntityListener and mapped superclasses before writing any code. If we do adopt, vendor it into our own namespace, pin the version, and own the maintenance — the upstream repo has no dependents and no release since 2019, so assume it is abandoned. Do not build a customer-facing extension contract on top of an unmaintained third-party bundle.
Decision requested: Approve a time-boxed (≤1 day) spike to determine whether native Doctrine configuration meets the extensibility requirement; default outcome is "no new dependency."
How can I help you explore Laravel packages today?