API 1.0.0-rc
This commit is contained in:
37
api/setup/databases.php
Normal file
37
api/setup/databases.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?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;
|
||||
}
|
Reference in New Issue
Block a user