Download the PHP package vkrapotkin/laravel-firebird5 without Composer
On this page you can find all versions of the php package vkrapotkin/laravel-firebird5. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vkrapotkin/laravel-firebird5
More information about vkrapotkin/laravel-firebird5
Files in vkrapotkin/laravel-firebird5
Package laravel-firebird5
Short Description Laravel 13 database driver package for Firebird SQL 5 via PDO_FIREBIRD.
License MIT
Homepage https://github.com/vkrapotkin/laravel-firebird5
Informations about the package laravel-firebird5
vkrapotkin/laravel-firebird5
Independent Laravel package with a Firebird SQL 5 driver for Laravel 13.
Features
firebirdconnection driver for Laravel 13 with package auto-discovery- PDO Firebird connector with DSN builder for local and host-based database paths
- Query support for pagination, multi-row
insert(),insertGetId(),insertUsing(),DELETE ... ROWS, single-rowupsert,union all,lockForUpdate(), andsharedLock() - Schema support for create, alter,
change(),renameColumn(),dropColumn(), indexes, unique constraints, foreign keys, views, and bulk dropping of tables/views - Schema introspection for tables, views, columns, indexes, foreign keys, and domains via
getTypes() - Firebird-aware transaction handling for top-level Laravel transaction blocks
Requirements
- PHP 8.3+
- Laravel 13
ext-pdopdo_firebirdenabled in PHP- Firebird SQL 5
Installation
Configuration
Add a Firebird connection to config/database.php:
Example .env:
Publishing
- Create a new GitHub repository named
laravel-firebird5undervkrapotkin. - Push this package as the initial codebase of the new repository.
- Sign in to Packagist and submit
https://github.com/vkrapotkin/laravel-firebird5. - Ensure GitHub Services / webhooks are enabled in Packagist for automatic updates.
Notes
- The package targets Firebird SQL 5 syntax and PDO Firebird.
- The package namespace is
Vkrapotkin\LaravelFirebird5. - Query and schema behavior is covered by unit tests and real integration tests against a Firebird 5 database recreated on demand.
Binary UUID values in raw batch SQL
The query builder compiles multi-row inserts as chunked Firebird
EXECUTE BLOCK statements and converts canonical UUID strings automatically
when column metadata identifies a binary UUID column. The same conversion is
available for other custom batch statements through
FirebirdConnection::firebirdPrepareInsertValues():
The method accepts one associative row or a list of rows and returns a
normalized list ready to be flattened into bindings. Use it before executing
manually assembled SQL such as EXECUTE BLOCK. Arbitrary raw SQL is not parsed
automatically because positional placeholders do not reliably identify their
target table columns.
Known Limitations
rename tableis not exposed because a reliable Firebird 5 +PDO_FIREBIRDpath was not confirmed in this driver flow.- Nested transactions are not supported through PDO; the driver supports a single top-level transaction boundary only.
insertOrIgnore*paths are intentionally unsupported and follow Laravel's base runtime exception behavior.- Savepoint behavior is not advertised until it is validated on the Firebird/PDO combination used by this package.
Transactions
Firebird with PDO_FIREBIRD often keeps the connection inside an already active transaction. Because of that, this driver adapts Laravel transaction handling as follows:
- A top-level
beginTransaction()/commit()/rollBack()block is supported. - If PDO already reports an active transaction, the driver adopts that transaction instead of trying to open a second physical transaction.
- Nested transactions are not supported through PDO and will throw a
RuntimeException. - Schema operations are not wrapped in grammar-managed transactions.
Recommended usage:
Avoid opening nested transaction blocks on the same Firebird connection until savepoint behavior is explicitly implemented and validated.
Testing
All versions of laravel-firebird5 with dependencies
ext-pdo Version *
ext-pdo_firebird Version *
illuminate/database Version ^13.0
illuminate/support Version ^13.0