Skip to content
Snippets Groups Projects
Commit bd8044c5 authored by Jean-Laurent DUZANT's avatar Jean-Laurent DUZANT Committed by Guillaume Heurtier
Browse files

FEAT #23832 TIME 0:20 get databases from json + dev test

parent fa6af5a2
No related branches found
No related tags found
No related merge requests found
......@@ -28,22 +28,27 @@ class DatabasePDO
}
if (!empty($args['configPath'])) {
$loadedXml = CoreConfigModel::getXmlLoaded(['path' => $args['configPath'] . '/config.xml']);
$loaderJson = CoreConfigModel::getJsonLoaded(['path' => $args['configPath'] . '/config.json']);
} else {
$loadedXml = CoreConfigModel::getConfig();
$loaderJson = CoreConfigModel::getConfig();
}
if (!$loadedXml) {
if (!$loaderJson) {
throw new \Exception('Configuration file can not be read');
}
foreach ($loadedXml->database as $key => $database) {
$server = (string)$database->server;
$port = (string)$database->port;
$name = (string)$database->name;
$user = (string)$database->user;
$password = (string)$database->password;
self::$type = (string)$database->type;
$databases = array_filter($loaderJson, function($value, $key) {
return strpos($key, 'database') !== false;
}, ARRAY_FILTER_USE_BOTH);
$count = 1;
foreach ($databases as $key => $database) {
$server = $database['server'];
$port = $database['port'];
$name = $database['name'];
$user = $database['user'];
$password = $database['password'];
self::$type = $database['type'];
$formattedDriver = 'pgsql';
if (self::$type == 'POSTGRESQL') {
......@@ -79,7 +84,8 @@ class DatabasePDO
self::$pdo = new \PDO($dsn, $user, $password, $options);
break;
} catch (\PDOException $PDOException) {
if (!empty($loadedXml->{$key.'1'})) {
if (!empty($loaderJson[$key . $count])) {
$count++;
continue;
} else {
throw new \Exception($PDOException->getMessage());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment