- What is harrygulliford/laravel-firebird used for?
- It is a Firebird database driver for Laravel that adds connection, query builder, Eloquent, schema, and migration support. It lets Laravel applications use Firebird through the framework's normal database APIs instead of hand-rolled PDO or raw SQL. It is only relevant for teams actually running Firebird.
- Which Laravel, PHP, and Firebird versions does the 4.x driver support?
- The v4.0.0-beta.0 compatibility baseline targets PHP 8.2+, Laravel 12/13, and Firebird 4/5. Teams on PHP 8.1, Laravel 10/11, or Firebird 2.5/3 are on an unsupported branch for 4.x and should pin to 3.x. Because it is a beta, verify the exact support matrix and CI coverage before adopting.
- How do I install and configure the Firebird driver in Laravel?
- Install it with Composer using composer require harrygulliford/laravel-firebird. Then add a Firebird connection in config/database.php using the package's Firebird driver, and make sure the Firebird PDO extension is available in your PHP environment. Test the connection with a simple query before running migrations.
- Does this package support Eloquent models and migrations on Firebird?
- Yes, the package provides connection, query builder, Eloquent, schema, and migration support. That means normal Eloquent models and Laravel migrations can target Firebird without dropping to raw SQL for every operation. Schema grammar signatures change between Laravel majors, so test migrations and schema diffs after upgrading Laravel or the driver.
- What query builder features were added in the 4.0 beta?
- The beta adds insertGetId() via RETURNING, lateral joins, union limit/offset, multi-column DISTINCT, and additional date/time where clauses. It also moves to standard offset ... rows / fetch first ... rows only syntax and fixes exists alias quoting. These features reduce the need for raw SQL or DB::statement workarounds.
- Is laravel-firebird 4.0 beta safe for production?
- It is explicitly a pre-release for testing the new PHP, Laravel, and Firebird baseline plus SQL/compiler changes. The risk is silent behavioural drift: rewritten limit/offset, union, exists aliasing, and drop-if-exists logic can return wrong result sets rather than throwing exceptions. Use staging and integration tests against your actual Firebird version before production, or stay on 3.x until GA.
- What are the breaking changes when upgrading from 3.x to 4.x?
- 4.x moves the baseline to PHP 8.2+, Laravel 12/13, and Firebird 4/5 in one coordinated jump, so you cannot adopt it incrementally along one axis. It also changes query compiler behavior for limit/offset, unions, exists aliasing, and drop if exists, and changes Firebird server version parsing. Plan a platform upgrade and regression-test result sets, not just exceptions.
- How does insertGetId() work with Firebird RETURNING?
- In the 4.0 beta, insertGetId() uses Firebird's RETURNING clause, which removes a common reason teams dropped to raw SQL on insert-heavy paths. For tables with composite keys or non-identity primary keys, confirm the generated SQL and returned ID behavior in your own schema. The TPM evaluation flags this as an open question to verify before relying on it.
- Could the exists alias quoting fix change results for existing queries?
- The fix addresses Firebird-specific case-sensitivity bugs in identifier handling for exists aliases. Because it changes generated SQL, it could affect existing queries that depend on the old quoting behavior. Regression-test queries using exists aliases, especially with mixed-case identifiers, after upgrading.
- Is laravel-firebird actively maintained, and what are the alternatives?
- It is a community-maintained database driver, and such drivers typically have a very small maintainer pool, so bus factor is a real risk for long-lived Firebird commitments. Check the release cadence, 3.x maintenance posture after 4.0 GA, and whether there is commercial backing or sponsorship. If you do not need first-party ORM support, alternatives include hand-rolled PDO or DB::statement raw SQL, or pinning to 3.x for older platforms. If Firebird is not a hard requirement, a database with first-party Laravel support avoids community-driver maintenance risk.