Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Fixes Bundle Laravel Package

omasn/doctrine-fixes-bundle

A Symfony bundle that gathers small fixes and workarounds for Doctrine ORM/DBAL quirks, letting you apply them from one place instead of patching vendor code. Handy as a compatibility shim for legacy projects; small, lightly maintained, and low-traffic.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and this is the headline finding. Despite being catalogued in a Laravel/PHP package index, omasn/doctrine-fixes-bundle is a Symfony bundle, not a Laravel package. It ships the Symfony bundle contract (*Bundle class, DependencyInjection/ extension, service YAML/PHP config) and is designed to be registered in config/bundles.php. Laravel has no bundle concept — service providers are not equivalent, and the package's registration, config-merging, and container-compiler-pass behavior all assume the Symfony kernel. The only path into a Laravel application is a project already running Doctrine via laravel-doctrine/orm plus a hand-rolled compatibility shim to emulate bundle loading. That is not integration; it is re-implementation.

The real asset is not the packaging — it is the fixes. A "fixes bundle" typically contains a small set of Doctrine event subscribers, DBAL type overrides, or hydrator patches that work around ORM bugs. That payload is portable; the Symfony wrapper is not.

Integration feasibility — low. No composer require path exists for a stock Laravel app. Even in a Doctrine-enabled Laravel project, the bundle's service definitions target Symfony's container semantics (tagged services, compiler passes), which Laravel's container cannot resolve. Realistic effort is a spike, not an install.

Technical risk — high on every axis.

  • Adoption signal is effectively zero: 2 stars, 0 dependents, score 0.01. There is no evidence of this package running in production anywhere.
  • Staleness: last release 2023-02-07. Doctrine ORM 3.x and Symfony 7 have landed since; internal API assumptions are very likely broken.
  • Provenance: it is a fork of an RUVENTS internal bundle, published under a single-maintainer handle, with no visible CI, security policy, or release cadence. A TPM should expect this to fail a standard OSS intake review before any code-level discussion happens.
  • Silent failure mode risk: fixes packages that patch behavior are dangerous when they stop being applied — an upgrade can silently revert the fix rather than erroring.

Key questions to put to the maintainer (or answer by reading source):

  1. Which Doctrine ORM and Symfony version ranges are supported, and has the code been exercised against ORM 3?
  2. Exactly which fixes are included, and have any of them been resolved upstream in the last two years?
  3. Is the RUVENTS original the canonical source? If so, why fork rather than consume upstream?
  4. What is the attribution and provenance chain for the forked code under MIT?
  5. Is there a test suite that reproduces each fixed bug?

Integration Approach

Stack fit — conditional to the point of impracticality. There are three realistic postures, in descending order of preference:

  1. Do not adopt as a dependency. Read the source, catalogue each fix, and re-implement the specific one(s) your team needs as a Laravel service provider plus a Doctrine event subscriber. This is likely 50–150 lines and removes the entire supply-chain, licensing, and maintenance question.
  2. Vendor the payload. Under MIT, copy the listener/subscriber classes into your codebase with attribution. You inherit maintenance knowingly, but you gain a normal Laravel service provider entry point and full test coverage in your own repo.
  3. Consume as-is only inside a genuine Symfony service. If the organization has a Symfony application that already needs these fixes, this is the one context where the bundle shape is correct — and even then, the staleness review applies.

Migration path. There is no incremental migration from "Laravel app" to "this package installed." The path is: identify the bug being fixed → write a failing test against your current Doctrine version → port the fix → delete the dependency question entirely.

Compatibility. PHP 8.x is fine. The binding constraint is Doctrine ORM version — the package predates ORM 3, and its likely reliance on 2.x-era APIs (UnitOfWork internals, hydrator signatures) is the primary breakage vector. Symfony version coupling matters only in posture 3.

Sequencing.

  1. Spike (1–2 days): clone, read every class, enumerate the fixes, and cross-check each against the Doctrine changelog for upstream resolution.
  2. Decide: if the fix is already upstream, upgrade Doctrine instead. If not, port it.
  3. Validate: a regression test that fails without the fix and passes with it, against your pinned Doctrine version.
  4. Only then consider posture 2 or 3. Never posture 1 without a security review sign-off.

Operational Impact

Maintenance — you are the maintainer. One publisher, no release since February 2023, no dependents to surface breakage early. Any Doctrine or Symfony upgrade becomes your incident, and you have no upstream to file against. Budget for owning this code from day one; do not budget for "waiting for a fix."

Support. No documentation beyond the repository, no vendor relationship, no community. Escalation path is "read the source." For a TPM this translates to zero support SLA and unbounded diagnostic time.

Scaling. Performance is a non-issue — Doctrine event subscribers and DBAL type overrides have negligible footprint. The scaling concern is organizational: every project that adopts this creates an independent fork-of-a-fork that must be patched separately.

Failure modes to plan for:

  • Silent regression: the fix stops applying after a Doctrine upgrade with no error raised — the highest-severity risk, mitigated only by an explicit regression test in your suite.
  • Container compile failure: Symfony bundle registration errors on version mismatch, in posture 3.
  • No-op install: the bundle registers but its compiler passes don't fire under a Laravel compatibility shim, giving false confidence that the fix is active.
  • Intake rejection: security/procurement blocks the dependency late in the cycle over maintainer provenance and staleness, stranding work built on it.

Ramp-up. Code volume is small — likely a few hundred lines — so comprehension cost is low. The expensive part is archaeology: determining what each fix does, whether it is still needed, and whether the fork diverges from RUVENTS upstream. Estimate the spike in days, not hours, and staff it with someone who knows your Doctrine internals.

TPM recommendation. Treat this as a source of fixes, not a dependency. The opportunity score (19.84) and the near-zero adoption signal point the same direction: the underlying fixes may have value, the distribution mechanism does not. Approve a timeboxed spike to mine it; do not approve it for the dependency manifest.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel