PHPackages                             fwolfsjaeger/doctrine-cockroachdb - 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. fwolfsjaeger/doctrine-cockroachdb

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

fwolfsjaeger/doctrine-cockroachdb
=================================

Doctrine DBAL CockroachDB Driver

0.9.8(3mo ago)27.7k↓28.6%31MITPHPPHP ^8.4

Since Jun 9Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/fwolfsjaeger/doctrine-cockroachdb)[ Packagist](https://packagist.org/packages/fwolfsjaeger/doctrine-cockroachdb)[ Docs](https://github.com/fwolfsjaeger/doctrine-cockroachdb)[ RSS](/packages/fwolfsjaeger-doctrine-cockroachdb/feed)WikiDiscussions doctrine-dbal-4.4 Synced 1mo ago

READMEChangelog (2)Dependencies (11)Versions (29)Used By (1)

[![Latest Stable Version](https://camo.githubusercontent.com/05934947f43f42d3c2c00a30a8f5f41ae1f07d4a36e6916646522427c9dae743/687474703a2f2f706f7365722e707567782e6f72672f66776f6c66736a61656765722f646f637472696e652d636f636b726f61636864622f76)](https://packagist.org/packages/fwolfsjaeger/doctrine-cockroachdb)[![Total Downloads](https://camo.githubusercontent.com/8bcf5627184756e3f8abe6cf907019f49d7b8314681b43260e9285f6ff8fca34/687474703a2f2f706f7365722e707567782e6f72672f66776f6c66736a61656765722f646f637472696e652d636f636b726f61636864622f646f776e6c6f616473)](https://packagist.org/packages/fwolfsjaeger/doctrine-cockroachdb)[![PHP Version Require](https://camo.githubusercontent.com/7e7b4a5ad06c1c1f516797260a720aaf776d981ea7730d039f12fe2e70b26528/687474703a2f2f706f7365722e707567782e6f72672f66776f6c66736a61656765722f646f637472696e652d636f636b726f61636864622f726571756972652f706870)](https://packagist.org/packages/fwolfsjaeger/doctrine-cockroachdb)[![License](https://camo.githubusercontent.com/beea7751de3c2b96e21230f5e7246f6ef0ddfe5b839cacd6b3ecf1a487a2363a/687474703a2f2f706f7365722e707567782e6f72672f66776f6c66736a61656765722f646f637472696e652d636f636b726f61636864622f6c6963656e7365)](https://packagist.org/packages/fwolfsjaeger/doctrine-cockroachdb)

CockroachDB Driver
==================

[](#cockroachdb-driver)

CockroachDB Driver is a Doctrine DBAL Driver and ORM patcher to handle incompatibilities with PostgreSQL.

Big Thanks To
-------------

[](#big-thanks-to)

- [Lapay Group](https://github.com/lapaygroup) for their CockroachDB Doctrine driver, which this driver is based on
- [media.monks](https://github.com/mediamonks) for the idea to patch FQCNs using a composer script
- [sweoggy](https://github.com/sweoggy) for his contributions to use CockroachDB's built in SERIAL generator

CockroachDB Quick Setup Guide
-----------------------------

[](#cockroachdb-quick-setup-guide)

- [Linux Setup Guide](https://www.cockroachlabs.com/docs/stable/install-cockroachdb-linux.html)
- [Mac Setup Guide](https://www.cockroachlabs.com/docs/v23.1/install-cockroachdb-mac)
- [Windows Setup Guide](https://www.cockroachlabs.com/docs/v23.1/install-cockroachdb-windows)

Usage
-----

[](#usage)

### Configuration

[](#configuration)

```
# doctrine.yaml
doctrine:
    dbal:
        user:
        port:
        host:
        dbname:
        sslmode: verify-full
        sslrootcert:
        sslcert:
        sslkey:
        driver: pdo_pgsql
        driver_class: DoctrineCockroachDB\Driver\CockroachDBDriver
```

### (Optional) Use modified BasicEntityPersister and SerialGenerator

[](#optional-use-modified-basicentitypersister-and-serialgenerator)

For improved compatibility and performance we recommend you to override Doctrine ORM's default BasicEntityPersister with the custom one provided with this package. When using the custom BasicEntityPersister you can use CockroachDB's built in SERIAL generator for primary keys, which performs vastly better than Doctrine's recommended SequenceGenerator.

Overriding is done by adding the composer script `DoctrineCockroachDB\\Composer\\PatchDoctrine::overrideBasicEntityPersister`to the `composer.json` script sections `post-install-cmd` and `post-update-cmd`:

```
{
    "scripts": {
        "post-install-cmd": [
            "DoctrineCockroachDB\\Composer\\PatchDoctrine::overrideBasicEntityPersister"
        ],
        "post-update-cmd": [
            "DoctrineCockroachDB\\Composer\\PatchDoctrine::overrideBasicEntityPersister"
        ]
    }
}
```

Then change your entities to use the `SerialGenerator` provided by this package:

```
