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

Oracledb Laravel Package

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.

View on GitHub
Deep Wiki
Context7

jfelder/oracledb adds native Oracle Database support to Laravel through the oci8 driver, letting you use Eloquent, the query builder, and migrations against Oracle without leaving Laravel's conventions.

  • Registers an oracle connection driver for Laravel
  • Full Eloquent and query builder support
  • Schema builder, migrations, and seeders
  • Handles Oracle-specific syntax (sequences, row limiting)
  • Flexible TNS, SID, and service-name configuration
Frequently asked questions about Oracledb
How do I install and configure jfelder/oracledb in a Laravel app?
Install it with Composer, register the package service provider, and add an oracle connection block to config/database.php with your host, port, service name, username, and password. The package registers a connection resolver, query grammar, schema grammar, post-processor, and schema builder, so DB::connection('oracle') behaves like any other Laravel connection. The non-Composer step is the critical path: the oci8 PHP extension and Oracle Instant Client must be installed on every runtime that touches the database, including CI, queue workers, and scheduled-task containers.
Which Laravel and PHP versions does jfelder/oracledb support?
Support is defined by the package's composer.json constraints and its CI matrix, so check both against your target Laravel and PHP versions before committing. Custom grammar packages historically break on Laravel major releases because internals such as the grammar and schema builder change. Pin the package version, verify Composer resolves cleanly, and keep an upgrade test in your pipeline rather than assuming the latest release tracks the current Laravel LTS.
Which Oracle server versions are supported, and does it handle IDENTITY columns?
Verify this against the repository and your own target server, because Oracle 11g, 12c, 19c, and 23ai differ in ways that matter here. Pre-12.2 releases impose 30-byte identifier limits, and IDENTITY columns only exist from 12c onward, so 11g deployments generally depend on sequence and trigger emulation for auto-increment behavior. Confirm IDENTITY support explicitly if you rely on it, and test schema creation against the exact server version you run in production.
Do I need oci8, pdo_oci, or Oracle Instant Client?
This driver talks to Oracle through OCI8, so you need the oci8 PHP extension plus Oracle Instant Client libraries installed on every environment that opens a connection. That is an OS image change rather than a Composer change, and it typically means rebuilding base images across development, staging, and production as well as CI runners. Budget for that image work as the real integration effort; the package installation itself is small.
Does jfelder/oracledb support migrations and the Laravel Schema builder?
The package registers an Oracle schema grammar and schema builder, so Schema::create and the usual schema tools are intended to work against Oracle. Coverage is often less complete than query support, so verify the specific operations you need, such as column modification, indexes, foreign keys, and drops, rather than assuming parity. Also remember Oracle performs implicit commits around DDL, which breaks the transactional migration rollback behavior Laravel developers expect from MySQL or Postgres.
What Oracle-specific behavior can leak into my application code?
Expect identifier length limits (30 bytes before 12.2) that can silently truncate names, no native boolean type, no auto-increment without sequences, triggers, or IDENTITY, and different pagination syntax. NLS_DATE_FORMAT and NLS_LANGUAGE settings affect date parsing and sorting, CLOB and BLOB handling differs from plain strings, and read-consistency and transaction semantics are not identical to MySQL or Postgres. A grammar package normalizes much of this, but the remaining gaps surface as runtime bugs rather than compile-time failures, so test the data types and queries you actually use.
Are the package tests run against a real Oracle database?
Mocked grammar tests will not catch dialect bugs, so check whether the repository's CI spins up an actual Oracle instance or only asserts generated SQL strings. Even if it does, your own schema, data types, and server version are the ones that matter. Run an integration suite against a real Oracle database in your pipeline before trusting migrations or Eloquent queries in production.
How does jfelder/oracledb compare to yajra/laravel-oci8?
yajra/laravel-oci8 has a substantially larger community, which usually means more external soak testing and faster issue triage. jfelder/oracledb takes an additive approach, plugging into Laravel's driver abstraction with its own connection resolver, grammars, and schema builder, so it does not patch the framework and is easy to isolate behind one connection name. Compare feature coverage for the surfaces you need, especially schema operations and adjacent integrations, and pick the one with a differentiated capability rather than flipping a coin.
Is jfelder/oracledb safe to use in production, and what is the maintenance risk?
It is a mature, single-purpose package, but the risk profile differs from an illuminate/* dependency: a single primary maintainer and very few dependents mean limited external soak testing against edge cases. Adoption is additive and reversible because it lives entirely in the database layer, which keeps the blast radius small. Still, budget for the possibility of maintaining an internal fork to keep pace with Laravel major releases, and pin versions so upgrades are deliberate.
Should I use this package for a new Laravel project, or stick with Postgres or MySQL?
This is the right tool only when Oracle is a given, such as a system of record owned by another team, an ERP or CRM with an Oracle backend, or a reporting replica you must read from. For greenfield work where your team controls the schema choice, Postgres or MySQL removes an entire category of risk, including the Instant Client image work and dialect edge cases, at zero cost. Treat jfelder/oracledb as a new connection rather than a replacement driver, and do not adopt it as a default.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections