nalgoo / cluster-connection
Galera cluster driver for Doctrine
Installs: 3 477
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: ^7.1 || ^8.0
- ext-pdo: *
- doctrine/dbal: ^2.12.1
- doctrine/event-manager: ^1.1
README
Alows Doctrine to connect to Galera cluster (multiple "master" nodes). Initial connection will be made to node1, but when query fails because of "cluster not ready" error, connection will be made to another node and query will be executed again.
Usage:
$em = EntityManager::create(
[
'url' => 'mysql://user:pass@node1/db_name',
'wrapperClass' => ClusterConnection::class,
'driverClass' => ClusterAwarePDOMysqlDriver::class
],
$config
);
$em->getConnection()->addNode('node2:3000');
$em->getConnection()->addNode('node3');
OR
$connection = ClusterConnection::createFromUrl('mysql://user:pass@node1,node2:3000,node3/db_name');
$em = EntityManager::create($connection, $config);
TODO
- Manage priority of nodes
- Transaction support
License
MIT