modify
This commit is contained in:
@@ -47,24 +47,9 @@ class DatabasesProviders extends Providers
|
|||||||
public function get($name): Connection
|
public function get($name): Connection
|
||||||
{
|
{
|
||||||
$application = Snowflake::app();
|
$application = Snowflake::app();
|
||||||
if ($application->has('databases.' . $name)) {
|
if (!$application->has('databases.' . $name)) {
|
||||||
return $application->get('databases.' . $name);
|
$application->set('databases.' . $name, $this->_settings($this->getConfig($name)));
|
||||||
}
|
}
|
||||||
$config = $this->getConfig($name);
|
|
||||||
|
|
||||||
$max = Config::get('databases.pool.max', 30);
|
|
||||||
$application->set('databases.' . $name, [
|
|
||||||
'class' => Connection::class,
|
|
||||||
'id' => $config['id'],
|
|
||||||
'cds' => $config['cds'],
|
|
||||||
'username' => $config['username'],
|
|
||||||
'password' => $config['password'],
|
|
||||||
'tablePrefix' => $config['tablePrefix'],
|
|
||||||
'maxNumber' => $max,
|
|
||||||
'database' => $config['database'],
|
|
||||||
'charset' => $config['charset'] ?? 'utf8mb4',
|
|
||||||
'slaveConfig' => $config['slaveConfig']
|
|
||||||
]);
|
|
||||||
return $application->get('databases.' . $name);
|
return $application->get('databases.' . $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,13 +64,24 @@ class DatabasesProviders extends Providers
|
|||||||
if (empty($databases)) {
|
if (empty($databases)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$max = Config::get('databases.pool', ['max' => 10, 'min' => 10]);
|
|
||||||
|
|
||||||
$application = Snowflake::app();
|
$application = Snowflake::app();
|
||||||
foreach ($databases as $name => $database) {
|
foreach ($databases as $name => $database) {
|
||||||
/** @var Connection $connection */
|
/** @var Connection $connection */
|
||||||
$connection = $application->set('databases.' . $name, [
|
$application->set('databases.' . $name, $this->_settings($database));
|
||||||
|
$application->get('databases.' . $name)->fill();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $database
|
||||||
|
* @return array
|
||||||
|
* @throws \Snowflake\Exception\ConfigException
|
||||||
|
*/
|
||||||
|
private function _settings($database)
|
||||||
|
{
|
||||||
|
$max = Config::get('databases.pool.max', 30);
|
||||||
|
return [
|
||||||
'class' => Connection::class,
|
'class' => Connection::class,
|
||||||
'id' => $database['id'],
|
'id' => $database['id'],
|
||||||
'cds' => $database['cds'],
|
'cds' => $database['cds'],
|
||||||
@@ -97,9 +93,7 @@ class DatabasesProviders extends Providers
|
|||||||
'minNumber' => $max['min'],
|
'minNumber' => $max['min'],
|
||||||
'charset' => $database['charset'] ?? 'utf8mb4',
|
'charset' => $database['charset'] ?? 'utf8mb4',
|
||||||
'slaveConfig' => $database['slaveConfig']
|
'slaveConfig' => $database['slaveConfig']
|
||||||
]);
|
];
|
||||||
$connection->fill();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user