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

Df Database Laravel Package

dreamfactory/df-database

DreamFactory database service package: adds SQL connectors (MySQL, PostgreSQL, SQL Server, Oracle, SQLite, and more) to the platform, auto-generating REST APIs with schema discovery, CRUD, stored procedures, filtering, and role-based access control.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Positioning. dreamfactory/df-database is not a general-purpose Laravel database library — it is the SQL connector subsystem of the DreamFactory platform. It provides the schema-introspection layer (tables, columns, keys, relationships, stored procedures) plus the service definitions that let DreamFactory auto-generate REST/OpenAPI endpoints over MySQL, PostgreSQL, SQL Server, SQLite, and Oracle. It is a platform module distributed as a Composer package.

Architecture fit.

  • Fits only when the host is either the DreamFactory platform itself or an application deliberately built on dreamfactory/df-core service contracts.
  • Coupling is the defining constraint: df-core supplies the service-provider contracts, service-type registry, caching, event dispatch, and RBAC hooks; doctrine/dbal supplies schema introspection. There is no meaningful standalone seam.
  • For a conventional Laravel application, the value is the capability (governed API access to arbitrary SQL), not the code as a dependency. A TPM should evaluate it as infrastructure, not as a library.

Integration feasibility.

  • Feasible: install the DreamFactory stack via Composer, register the provider, publish config/migrations, define a database service through the admin API, and consume generated endpoints from Laravel over HTTP.
  • Not feasible without significant cost: dropping this into an existing Laravel 11/12 app expecting a DBAL-like abstraction. Composer resolution will pull in the DF package family and pin the framework.
  • Prerequisites to confirm in composer.json: PHP minor version, Laravel major pin, Doctrine DBAL major, and required PDO extensions (including oci8/pdo_oci if Oracle is in scope).

Technical risk.

  • Community validation is effectively absent: 4 stars, 0 dependents. Adoption signal comes from the vendor's platform distribution, not from independent consumers.
  • Single-vendor stewardship. If DreamFactory deprioritizes the OSS core, this package decays silently with no upstream security patching.
  • The last-release metadata is future-dated, which suggests registry/release automation artifacts. Verify actual commit and release activity in the repository before relying on the date.
  • Doctrine DBAL major-version churn and cross-dialect SQL differences (stored procedures, functions, identifier quoting) are a permanent bug surface.
  • Apache-2.0 permits forking, but schema-introspection code is dense — forkability is a legal escape hatch, not an operational one.

Key questions.

  1. Are we adopting DreamFactory as a platform, or trying to borrow one component? Only the former is realistic.
  2. Which database engines, and are stored procedures/functions required? Scope varies sharply by dialect.
  3. Does our Laravel/PHP version sit inside the supported matrix?
  4. What is the exit plan if the vendor stops publishing — fork ownership, or a documented migration back to native database access?
  5. Who owns the security review for a service whose purpose is exposing schema metadata and data surface area?
  6. Is enterprise support being budgeted, given the thin community?

Integration Approach

Stack fit.

  • Good: PHP 8.1/8.2 with a Laravel 9/10 host, containerized deployment, one or more of the supported SQL engines, existing CI that can publish config and warm caches.
  • Poor: greenfield Laravel 11+ applications, Eloquent-first domain models that would now have two competing data-access idioms, and serverless/FaaS PHP runtimes where repeated cold boots and schema caching interact badly.

Migration path. Two options, with a clear recommendation:

  • (A) Sidecar platform — preferred. Deploy DreamFactory adjacent to the Laravel app, point it at read replicas, expose governed REST/OpenAPI, and consume from Laravel via Http client with typed DTOs. Keeps platform churn entirely out of the application's dependency graph and gives a clean rollback: delete the sidecar, revert the client.
  • (B) Embedded Composer dependency — discouraged. Only viable if you commit to the full DF package set and accept its framework pins. Cherry-picking df-database alone will not resolve. Treat this as a separate decision with its own architecture review.

Compatibility.

  • Pin exact versions and commit the lockfile; DF packages move in lockstep.
  • Verify Doctrine DBAL alignment between df-database and df-core.
  • Check for collisions between published DF config and the app's own config/database.php and migration namespace.
  • Confirm PHP extensions and driver versions on every target engine before committing to scope.

Sequencing.

  1. Spike (1–2 weeks): stand up DreamFactory in a container against read-only replicas; verify introspection and generated OpenAPI per target engine. This alone should decide go/no-go.
  2. Security model: define roles, API keys, and field-level access; confirm no raw database credentials reach consumers.
  3. Contract capture: snapshot the generated OpenAPI and treat it as the interface. Laravel consumers code against the snapshot, not the live schema.
  4. Pilot: one read-only dataset, then a bounded write-enabled dataset with an explicit trust boundary.
  5. Defer any embedded-dependency evaluation until the sidecar has run in production for a full release cycle.

Operational Impact

Maintenance.

  • Two moving parts to track: the package and the platform. DF major versions have historically carried breaking configuration and schema changes.
  • Own a documented fork posture. Apache-2.0 lets you patch, but budget engineering capacity — someone must be able to read and modify schema-introspection code under incident pressure.

Support.

  • Community support is minimal at this adoption level. The realistic channel is vendor enterprise support; price it into the business case rather than assuming community answers.
  • Required internal runbook: adding a data source, rotating credentials, auditing API access, and invalidating schema cache.

Scaling.

  • The HTTP tier is stateless and scales horizontally. The real bottlenecks are the source database, connection pooling, and schema-cache warm-up.
  • Large schemas (1,000+ tables) make introspection latency a visible cost — caching must be on, and cache warming should be a deployment step.
  • Per-request introspection is the classic performance failure; instrument it before launch.

Failure modes.

  • Schema drift after application migrations → stale cached schema, 500s on generated endpoints. Mitigate by wiring cache invalidation into the post-migration pipeline.
  • Over-broad exposure from role or credential misconfiguration. This is the highest-severity risk and the one that will reach a TPM's desk; require field-level allowlisting, not table-level.
  • Driver/DBAL mismatch producing engine-specific introspection failures — typically discovered only against the least-tested dialect.
  • Vendor abandonment leaving no security patch path; the exit plan must exist before adoption, not after.
  • Business-rule bypass on generated write endpoints — any write path is a new trust boundary requiring its own validation and audit.

Ramp-up.

  • Consumption: low — REST plus OpenAPI, roughly a day or two for a competent Laravel developer.
  • Operations: moderate, one to two weeks to run safely with RBAC, caching, and credential rotation understood.
  • Internal ownership (fork/modify): high, multi-week, and should be treated as a staffing commitment rather than a contingency.

Recommendation. Treat df-database as a governed data-access sidecar — most compelling for exposing legacy databases and giving LLM/tool-calling clients mediated, auditable access without handing them credentials — rather than as a Laravel library dependency. The adoption signals (4 stars, 0 dependents, single-vendor maintenance, ambiguous release metadata) justify a time-boxed spike, not a platform commitment. Gate any further investment on the spike plus a completed security review.

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