jfelder/oracledb
Oracle database driver for Laravel that adds OCI8 support for Eloquent, the query builder, migrations, and schema tools. It handles sequences, triggers, and common Oracle quirks for smoother Laravel integration.
13.x targets Laravel 13 + PHP 8.3+, while Laravel 12 maintenance continues on the 12.x branch. That turns “upgrade the framework” into a coordinated decision — our Laravel 13 / PHP 8.3 upgrade plan and this dependency must move together, and any product commitment to a supported-DB matrix now has a version floor attached to it. Treat the driver's major line as a tracked item on the platform roadmap, not an incidental composer bump.Consider adoption when:
13.x line; Laravel 12 stays supported on the maintained 12.x branch. Pin to the branch that matches your framework version explicitly rather than tracking master/dev, since a Laravel major is now the package's breaking-change boundary.Look elsewhere when:
12.x line, but you're on a maintenance branch with no path forward until the platform upgrade lands — plan that upgrade or accept the frozen dependency.To executives: This is a small, free (MIT) connector that removes a hard technical blocker to selling into large enterprises that run Oracle. It costs no license fees and requires no new vendor relationship — the investment is operational (Oracle client libraries in our deploy pipeline) and risk management, since the package is community-maintained with a thin contributor base. The new v13.0.0 release is a healthy signal: the maintainer shipped a Laravel 13 / PHP 8.3+ upgrade on a major-version boundary and continues to maintain a Laravel 12 branch rather than abandoning it — that's the upgrade discipline we'd want from a paid vendor. Recommendation: adopt behind a version pin and an internal integration test suite tied to a specific branch (13.x for Laravel 13, 12.x while we're on Laravel 12), and treat it as strategic for the enterprise segment rather than a general-purpose default. Note the PHP 8.3+ requirement on the current line as a supported-environment commitment, and fold this dependency into the framework-upgrade roadmap so we never discover the coupling during a release crunch. It also gives us a credible story for phased modernization — we integrate with the customer's Oracle system today and migrate modules over time, instead of asking them to re-platform up front.
To engineering: It's a driver-level shim that plugs Oracle into Laravel's existing connection, query builder, Eloquent, and schema/migration layers — no new abstraction to learn, no ORM fork. The real cost is environmental: OCI8 plus Oracle Instant Client must exist everywhere, including CI, which means container images and onboarding docs. v13.0.0 is a breaking change, but the break is in the support matrix, not the API: master now targets Laravel 13 and PHP 8.3+, with Laravel 12 maintained on the 12.x branch. So: pin to a branch alias (not dev-master), align the bump with our Laravel 13 upgrade, and add a PHP 8.3 floor to CI images. Because upstream is a single-maintainer project with negligible dependent footprint, also wrap DB access behind our own repositories so the driver is swappable, and run migrations/queries against a real Oracle instance in CI rather than trusting mocks. Budget a small ongoing allowance for upstream patches or an internal fork — and re-check the branch support policy each framework major, since that's now the predictable cadence. That's the true cost of ownership, and it's still far cheaper than maintaining a bespoke Oracle layer.
How can I help you explore Laravel packages today?