Connect with Laravel

You can connect Laravel to SingleStore using the SingleStore Driver for Laravel ("the driver"). Refer to the SingleStore Driver for Laravel Github repository for its source code and related information.

Prerequisites

  • Install PDO_MYSQL.

  • Install the driver via composer:

    composer require singlestoredb/singlestoredb-laravel

Connect to SingleStore

To connect Laravel to SingleStore, enable the driver and configure the connection.

To enable the driver, edit your config/database.php file and create a new entry for SingleStore in the connection configuration. Update the default option to point to the new connection or set DB_CONNECTION=singlestore in your environment file.

Here's a sample configuration:

[
'default' => env('DB_CONNECTION', 'singlestore'),
'connections' => [
'singlestore' => [
'driver' => 'singlestore',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'unix_socket' => env('DB_SOCKET'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
PDO::ATTR_EMULATE_PREPARES => true,
PDO::ATTR_PERSISTENT => true
]) : [],
],
]
]

The SingleStore driver is an extension of the MySQL driver, so you can also use the driver from mysql.

Connect using SSL

To configure SSL connections between SingleStore Helios and Laravel, download the singlestore_bundle.pem certificate file and update your MYSQL_ATTR_SSL_CA environment variable to point to it. Set PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT to "true", as shown below.

'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => true,
PDO::ATTR_EMULATE_PREPARES => true,
PDO::ATTR_PERSISTENT => true
]) : [],

For more details, refer to the SingleStore Driver for Laravel and Laravel docs.

Last modified: June 11, 2024

Was this article helpful?