38 lines
957 B
PHP
38 lines
957 B
PHP
<?php
|
|
$databases = $app->getContainer()->get('databases');
|
|
|
|
foreach ($databases->databases as $name => $settings) {
|
|
if (!is_object($settings)) {
|
|
continue;
|
|
}
|
|
$auth = false;
|
|
$dsn = '';
|
|
switch (strtolower($settings->type)) {
|
|
case 'mysql':
|
|
$data = [
|
|
['host', $settings->host->name],
|
|
['dbname', $settings->name]
|
|
];
|
|
if (isset($settings->host->port)) {
|
|
$data []= ['port', $settings->host->port];
|
|
}
|
|
array_walk($data, function(&$item) {
|
|
$item = implode('=', $item);
|
|
});
|
|
$dsn = implode(':', [
|
|
'mysql',
|
|
implode(';', $data)
|
|
]);
|
|
$auth = true;
|
|
break;
|
|
}
|
|
ORM::configure($dsn, null, $name);
|
|
if ($auth) {
|
|
ORM::configure('username', $settings->user->name, $name);
|
|
ORM::configure('password', $settings->user->password, $name);
|
|
}
|
|
}
|
|
if (isset($databases->short_names) and $databases->short_names) {
|
|
Model::$short_table_names = true;
|
|
}
|