PHPackages                             kafoso/doctrine-firebird-driver - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. kafoso/doctrine-firebird-driver

ActiveLibrary[Database &amp; ORM](/categories/database)

kafoso/doctrine-firebird-driver
===============================

2.7.1(6y ago)1513.5k↓33.3%17[2 issues](https://github.com/kafoso/doctrine-firebird-driver/issues)MITPHPPHP &gt;=7.2CI failing

Since Mar 23Pushed 4y ago3 watchersCompare

[ Source](https://github.com/kafoso/doctrine-firebird-driver)[ Packagist](https://packagist.org/packages/kafoso/doctrine-firebird-driver)[ RSS](/packages/kafoso-doctrine-firebird-driver/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (19)Used By (0)

Doctrine Firebird driver
------------------------

[](#doctrine-firebird-driver)

Firebird driver for the [Doctrine DBAL](https://github.com/doctrine/dbal).

This library is completely separate (i.e. abstracted away) from the core Doctrine DBAL library. I.e. it is fully a **plug-in**.

Requirements
============

[](#requirements)

To utilize this library in your application code, the following is required:

- [Firebird](https://firebirdsql.org/) version 2.5.\*
    - Version 3.\* is not supported. You are very welcome to provide a pull request for this.
- PHP &gt;= 7.1
- PHP extensions1:
    - [ibase](http://php.net/manual/en/book.ibase.php)
    - [mbstring](http://php.net/manual/en/book.mbstring.php)
    - xml
- [doctrine/dbal: &gt;=2.5 &lt;=2.5.13](https://packagist.org/packages/doctrine/dbal#v2.5.0)

1 Only needed on remote/guest OS, e.g. a remote Ubuntu server or a VM installed through Docker, Vagrant, or XAMPP.

License &amp; Disclaimer
========================

[](#license--disclaimer)

See [LICENSE](LICENSE) file. Basically: Use this library at your own risk.

Limitations of Schema Manager
-----------------------------

[](#limitations-of-schema-manager)

This library does ***not* fully support generation through the Schema Manager**, i.e.:

1. Generation of database tables, views, etc. from entities.
2. Generation of entities from database tables, views, etc.

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.

Installation
============

[](#installation)

Via Composer ([`kafoso/doctrine-firebird-driver`](https://packagist.org/packages/kafoso/doctrine-firebird-driver)):

```
composer install kafoso/doctrine-firebird-driver

```

Via Github:

```
git clone git@github.com:kafoso/doctrine-firebird-driver.git

```

Configuration
-------------

[](#configuration)

### Manual configuration

[](#manual-configuration)

For example of configuration in PHP, see [`tests/tests/Test/Integration/AbstractIntegrationTest.php`](tests/tests/Test/Integration/AbstractIntegrationTest.php) (in the method `setUp`).

Additional help may be found at:

### Symfony configuration (YAML)

[](#symfony-configuration-yaml)

This driver may be used like any other Doctrine DBAL driver in [Symfony](https://symfony.com/). 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](https://github.com/doctrine/dbal).

Sample YAML configuration:

```
doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver_class:   Kafoso\DoctrineFirebirdDriver\Driver\FirebirdInterbase\Driver
                host:           "%database_host%"
                port:           "%database_port%"
                dbname:         "%database_name%"
                user:           "%database_user%"
                password:       "%database_password%"
                charset:        "UTF-8"

```

Tests
=====

[](#tests)

Test/development requirements
-----------------------------

[](#testdevelopment-requirements)

To run tests, fix bugs, provide features, etc. the following is required:

- A system capable of running a virtual machine with [ubuntu/xenial64](https://app.vagrantup.com/ubuntu/boxes/xenial64).
- [Virtualbox](https://www.virtualbox.org/) &gt;= 5.1.0
- [Vagrant](https://www.vagrantup.com/) &gt;= 2.0.0

You may of course install everything manually using your own VM setup. For help and a stack list (required apt-get packages), see the [Vagrantfile](Vagrantfile).

Installation to run tests
-------------------------

[](#installation-to-run-tests)

A few steps are required to run all tests. Unit tests ([tests/tests/Test/Unit](tests/tests/Test/Unit)) will run on all environments. However, integration tests ([tests/tests/Test/Integration](tests/tests/Test/Integration)) require the following because they test against a running Firebird database in the VM:

1. `vagrant up`
    Install/provision the VM.
2. `vagrant ssh`
3. `sudo su`
4. `apt-get -y install firebird2.5-superclassic`
    You will be prompted to install the database using a password. Please provide this password: `88fb9f307125cc397f70e59c749715e1`. It is re-used when connecting through the DBAL later on.
5. `dpkg-reconfigure firebird2.5-superclassic`
    Starts the Firebird database server. Provide same password as above.

Reference:

Running tests
-------------

[](#running-tests)

Due to the database being created by the PHP bootstrap script on the fly, `root` is needed to run the tests **on the VM**.

1. `vagrant ssh`
2. `sudo su`
3. `apt-get install zip -y` (for when installing composer packages)
4. Install composer (on guest OS). Follow these instructions:
5. `mv composer.phar /usr/bin/composer`
6. `cd /var/git/kafoso/doctrine-firebird-driver`
7. `composer install`1
8. `cd /var/git/kafoso/doctrine-firebird-driver/tests`
9. `php ../bin/phpunit tests`

1 Composer will say you shouldn't run it as root/super user. This is techically true, but it's fine in the VM.

Credits
=======

[](#credits)

Authors
-------

[](#authors)

- **Kasper Søfren**

    E-mail:
- **Uffe Pedersen**

Acknowledgements
----------------

[](#acknowledgements)

###

[](#httpsgithubcomdoctrinedbal)

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`](https://github.com/doctrine/dbal/blob/v2.5.0/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php) and [`\Doctrine\DBAL\Platforms\OraclePlatform`](https://github.com/doctrine/dbal/blob/v2.5.0/lib/Doctrine/DBAL/Platforms/OraclePlatform.php), and their respective parent classes.

###

[](#httpsgithubcomhelicon-osdoctrine-dbal)

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:

- It contains bugs. E.g. incorrect/insufficient handling of nested transactions and save points.
- It is lacking with respect to test coverage.
- It appears to no longer be maintained. Possibly entirely discontinued.
- It is intermingled with the core Doctrine DBAL code, making version management and code adaptation unnecessarily complicated; a nightmare, really. It is forked from , although, this is not specifically stated.
- It is not a Composer package (not on ).

###

[](#httpsgithubcomistdkdoctrine-dbal)

A fork of  with a few improvements and fixes.

###

[](#httpsfirebirdsqlorg)

The main resource for Firebird documentation, syntax, downloads, etc.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~39 days

Recently: every ~89 days

Total

17

Last Release

2337d ago

Major Versions

1.1.2 → 2.5.02018-11-02

PHP version history (3 changes)1.0.0PHP &gt;=5.6

2.5.1PHP &gt;=7.1

2.7.1PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/e266ee38e7fb9c0f3901ad9b716f4ba23da977145ee4d82aa52cac60cc77c887?d=identicon)[kafoso](/maintainers/kafoso)

---

Top Contributors

[![kafoso](https://avatars.githubusercontent.com/u/3169691?v=4)](https://github.com/kafoso "kafoso (7 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kafoso-doctrine-firebird-driver/health.svg)

```
[![Health](https://phpackages.com/badges/kafoso-doctrine-firebird-driver/health.svg)](https://phpackages.com/packages/kafoso-doctrine-firebird-driver)
```

###  Alternatives

[scienta/doctrine-json-functions

A set of extensions to Doctrine that add support for json query functions.

58523.9M36](/packages/scienta-doctrine-json-functions)[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8425.3M87](/packages/laravel-doctrine-orm)[damienharper/auditor-bundle

Integrate auditor library in your Symfony projects.

4542.8M](/packages/damienharper-auditor-bundle)[sonata-project/entity-audit-bundle

Audit for Doctrine Entities

644989.8k1](/packages/sonata-project-entity-audit-bundle)[bartlett/php-compatinfo-db

Reference Database of all functions, constants, classes, interfaces on PHP standard distribution and about 110 extensions

1183.0k1](/packages/bartlett-php-compatinfo-db)[heymoon/doctrine-psql-enum

Store PHP native enums as PostgeSQL custom enum types

254.9k](/packages/heymoon-doctrine-psql-enum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
