Firebird driver for the Doctrine DBAL
To utilize this library in your application code, the following is required:
See LICENSE file. Basically: Use this library at your own risk.
This library does not fully support generation through the Schema Manager, i.e.:
Reasons for not investing time in schema generation include that Firebird does not allow renaming of tables, which in turn makes automated schema updates annoying and over-complicated. Better results are probably achieved by writing manual migrations.
Via Composer (satag/doctrine-firebird-driver
):
composer install satag/doctrine-firebird-driver
Via Github:
git clone https://github.com/satwareAG/doctrine-firebird-driver.git
This driver may be used like any other Doctrine DBAL driver in Symfony, e.g. with doctrine/doctrine-bundle. However, the driver_class
option must be specified instead of simply driver
. This is due to the driver not being part of the core Doctrine DBAL library.
Sample YAML configuration:
doctrine:
dbal:
default_connection: default
connections:
default:
driver_class: Satag\DoctrineFirebirdDriver\Driver\Firebird\Driver
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: "UTF-8"
To run tests, fix bugs, provide features, etc. you can use the provided docker compose file in the /tests directory.
Fundamental Doctrine DBAL implementation. The driver and platform logic in this library is based on other implementations in the core library, largely \Doctrine\DBAL\Driver\PDOOracle\Driver
and \Doctrine\DBAL\Platforms\OraclePlatform
, and their respective parent classes.
Whilst a great inspiration for this library - and we very much appreciate the work done by the authors - the library has a few flaws and limitations regarding the Interbase Firebird driver logic:
A fork of https://github.com/helicon-os/doctrine-dbal with a few improvements and fixes.
The main resource for Firebird documentation, syntax, downloads, etc.
As an AI specialized in coding, your task is to support me, Michael Wegener, to improve the PHP Doctrine DBAL driver for the Firebird SQL Server for which I am the current maintainer. The Driver is not based on Firebird PDO, it is based on PHP Firebird Extension interbase.so (using fbird* function aliases for ibase* functions). You can reference the following resources for guidance:
The PHP Driver is implemented for PHP 8.1+ and should be covered with PHP Unit and Integration Tests against all Firebird Server Versions. Have an eye on modern development principles, performance and security.