la/swoole-connection-manager

Swoole connection manager for Laravel

v1.0 2024-01-11 05:22 UTC

This package is auto-updated.

Last update: 2024-09-11 06:44:25 UTC


README

This package provides a DB pool manager for Laravel 10+ and Swoole

Supported Database : MySQL, PostgreSQL, SQLite, SQL Server

Installation :

composer require la/swoole-connection-manager

add service provider to config/app.php

...
'providers' => [
    ...
    \la\ConnectionManager\PoolServiceProvider::class,
    ...
]

example database config:

...
'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_general_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'),
        ]) : [],
        'pool' => [
            'min_connections' => 1,
            'max_connections' => 10,
            'connect_timeout' => 10.0,
            'wait_timeout' => 3.0,
        ],
    ],
...