Skip to content

Commit

Permalink
cs
Browse files Browse the repository at this point in the history
  • Loading branch information
ostrolucky committed Feb 26, 2022
1 parent 30168ce commit 3813dc7
Showing 1 changed file with 27 additions and 19 deletions.
46 changes: 27 additions & 19 deletions ConnectionFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,27 +68,9 @@ public function createConnection(array $params, ?Configuration $config = null, ?
}

$connection = DriverManager::getConnection($params, $config, $eventManager);
$params = array_merge($connection->getParams(), $overriddenOptions);
$params = $this->addDatabaseSuffix(array_merge($connection->getParams(), $overriddenOptions));
$driver = $connection->getDriver();

if (isset($params['dbname']) && isset($params['dbname_suffix'])) {
$params['dbname'] .= $params['dbname_suffix'];
}

if (isset($params['replica'])) {
foreach ($params['replica'] as $key => $replicaParams) {
if (! isset($replicaParams['dbname'], $replicaParams['dbname_suffix'])) {
continue;
}

$params['replica'][$key]['dbname'] .= $replicaParams['dbname_suffix'];
}
}

if (isset($params['primary']['dbname'], $params['primary']['dbname_suffix'])) {
$params['primary']['dbname'] .= $params['primary']['dbname_suffix'];
}

if (! isset($params['charset'])) {
if ($driver instanceof AbstractMySQLDriver) {
$params['charset'] = 'utf8mb4';
Expand Down Expand Up @@ -162,4 +144,30 @@ private function initializeTypes(): void

$this->initialized = true;
}

/**
* @param array<string, mixed> $params
*
* @return array<string, mixed>
*/
private function addDatabaseSuffix(array $params): array
{
if (isset($params['dbname']) && isset($params['dbname_suffix'])) {
$params['dbname'] .= $params['dbname_suffix'];
}

foreach ($params['replica'] ?? [] as $key => $replicaParams) {
if (! isset($replicaParams['dbname'], $replicaParams['dbname_suffix'])) {
continue;
}

$params['replica'][$key]['dbname'] .= $replicaParams['dbname_suffix'];
}

if (isset($params['primary']['dbname'], $params['primary']['dbname_suffix'])) {
$params['primary']['dbname'] .= $params['primary']['dbname_suffix'];
}

return $params;
}
}

0 comments on commit 3813dc7

Please sign in to comment.