我想在我的系统中组合多个数据库.大多数时候数据库是MySQL; 但是它可能在将来有所不同,即Admin可以生成这样的报告,这是使用异构数据库系统的源.
所以我的问题是Laravel是否提供任何Facade来处理这种情况?或者任何其他框架都有更合适的问题能力?
在Lumen项目中,我需要在运行时创建数据库连接,但每次尝试使用最近创建的连接时,我都会收到"Database [...] not configured"错误.
这是我在routes.php上的测试代码:
<?php
$app->get('/', function () use ($app) {
$config = $app->make('config');
$config->set('database.connections.retail_db', [
'driver' => 'pgsql',
'host' => env('RETAIL_DB_HOST', 'localhost'),
'port' => env('RETAIL_DB_PORT', 5432),
'database' => env('RETAIL_DB_DATABASE', 'forge'),
'username' => env('RETAIL_DB_USERNAME', 'forge'),
'password' => env('RETAIL_DB_PASSWORD', ''),
'charset' => env('RETAIL_DB_CHARSET', 'utf8'),
'prefix' => env('RETAIL_DB_PREFIX', ''),
'schema' => env('RETAIL_DB_SCHEMA', 'public'),
]);
return app('db')->connection('retail_db')->select("SELECT * FROM users");
});
Run Code Online (Sandbox Code Playgroud)
这段代码应该适用于Laravel,但我找不到任何有关Lumen的信息.
我正在使用最新的流明版本.