PHPackages                             nbj/cockroachdb-laravel - 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. nbj/cockroachdb-laravel

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

nbj/cockroachdb-laravel
=======================

CockroachDB driver for Laravel 8

0.0.7-alpha(5y ago)5728.1k↓33.3%16[4 issues](https://github.com/nbj/cockroachdb-laravel/issues)[1 PRs](https://github.com/nbj/cockroachdb-laravel/pulls)MITPHP

Since Jul 12Pushed 4y ago6 watchersCompare

[ Source](https://github.com/nbj/cockroachdb-laravel)[ Packagist](https://packagist.org/packages/nbj/cockroachdb-laravel)[ RSS](/packages/nbj-cockroachdb-laravel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (13)Used By (0)

cockroachdb-laravel
===================

[](#cockroachdb-laravel)

CockroachDB database driver for Laravel 8

Usage
-----

[](#usage)

### Step 1: Install Through Composer

[](#step-1-install-through-composer)

```
composer require nbj/cockroachdb-laravel

```

### Step 2: Add the Service Provider (This happens automatically in Laravel 5.5)

[](#step-2-add-the-service-provider-this-happens-automatically-in-laravel-55)

Open `config/app.php` and, to your "providers" array, add:

```
Nbj\Cockroach\CockroachServiceProvider::class
```

### Step 3: Add Database Driver Configuration

[](#step-3-add-database-driver-configuration)

Open `config/datbase.php` and, to your "connections" array, add:

```
'cockroach' => [
    'driver' => 'cockroach',
    'host' => env('DB_HOST', 'HOSTNAME-OF-COCKROACH-SERVER'),
    'port' => env('DB_PORT', '26257'),
    'database' => env('DB_DATABASE', 'DATABASE-NAME'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'schema' => 'DATABASE-NAME',
    'sslmode' => 'prefer',

    // Only set these keys if you want to run en secure mode
    // otherwise you can them out of the configuration array
    'sslcert' => env('DB_SSLCERT', 'client.crt'),
    'sslkey' => env('DB_SSLKEY', 'client.key'),
    'sslrootcert' => env('DB_SSLROOTCERT', 'ca.crt'),
],
```

Make sure to update **host**, **port**, **database**, **username**, **password** and **schema** to your configuration. Note the **database** and **schema** fields should be the same.

Secure Mode
-----------

[](#secure-mode)

Update **sslcert**, **sslkey** and **sslrootcert** with your path configuration.

CockroachDB 2
-------------

[](#cockroachdb-2)

Changes made to CockroachDB handles schemas slightly different when using the PHP Postgres driver. So instead of using:

```
'schema' => 'DATABASE-NAME'

```

We need to use the Postgres default of `public` so change your config to:

```
'schema' => 'public'

```

And everything should work as expected.

Known issues
------------

[](#known-issues)

- Constraints cannot be in the same migration as the creation of a table. The workaround is to add your constraints to its own migration after the table has been created.

Usage without laravel
---------------------

[](#usage-without-laravel)

It is entirely possible to use this driver without the entire Laravel framework. Laravel's database components are neatly packaged in its own composer package called `illuminate/database` Simply require this package into your project, and you are ready to go.

```
composer require illuminate/database
composer require nbj/cockroachdb-laravel

```

To set up a database connection you need to create a new `Capsule` and register it.

```
