Hay un problema principal con el método que está buscando:
No inicializaste ningún objeto de configuración. Lumen de forma predeterminada no tiene un conjunto de objetos de configuración tradicional, hasta que cree un config
directorio en su carpeta raíz.
Como está escrito en los documentos de configuración de Lumen:
Todas las opciones de configuración para el marco Lumen se almacenan en el archivo .env.
El enfoque que está buscando requiere el objeto de configuración tradicional como se usa en Laravel.
Para obtener ese objeto y su nuevo retail_db
conexión de base de datos funcionando:
- Crea una
config
carpeta en la raíz de su proyecto - Copie el archivo
vendor/laravel/lumen-framework/config/database.php
a esta carpeta de configuración - Inicialice el objeto de configuración de la base de datos en su
bootstrap/app.php
con$app->configure('database');
(póngalo en la línea 28)
Su estructura de carpetas se ve así ahora:
├── app
├── bootstrap
├── config
└── database.php
├── database
├── public
├── resources
├── storage
├── tests
└── vendor
Por supuesto, puede eliminar las conexiones que no necesita de la matriz de conexiones en app/config/database.php
comentándolos o eliminándolos por completo.
aplicación/config/base de datos.php
'connections' => [
/*'testing' => [
'driver' => 'sqlite',
'database' => ':memory:',
],*/
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', base_path('database/database.sqlite')),
'prefix' => env('DB_PREFIX', ''),
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'utf8'),
'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
'prefix' => env('DB_PREFIX', ''),
'timezone' => env('DB_TIMEZONE', '+00:00'),
'strict' => env('DB_STRICT_MODE', false),
],
]
Tu bootstrap/app.php con los cambios:
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| Here we will load the environment and create the application instance
| that serves as the central piece of this framework. We'll use this
| application as an "IoC" container and router for this framework.
|
*/
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
//$app->withFacades();
// $app->withEloquent();
$app->configure('database');
Ahora puedes usar el código que ya tienes en tu routes.php
.
Para eliminar su retail_db
conexión, simplemente configúrelo en null
:
$config->set('database.connections.retail_db', null);