Der er et hovedproblem med den metode, du går efter:
Du har ikke initialiseret noget konfigurationsobjekt. Lumen har som standard ikke noget traditionelt konfigurationsobjektsæt, før du opretter en config
mappe i din rodmappe.
Som skrevet i Lumen-konfigurationsdokumenterne:
Alle konfigurationsmulighederne for Lumen-rammeværket er gemt i .env-filen.
Den tilgang, du går efter, kræver det traditionelle konfigurationsobjekt, som det bruges i Laravel.
For at få det objekt og din nye retail_db
databaseforbindelse fungerer:
- Opret en
konfiguration
mappe i dit projektrod - Kopiér filen
vendor/laravel/lumen-framework/config/database.php
til denne konfigurationsmappe - Initialiser databasekonfigurationsobjektet i din
bootstrap/app.php
med$app->configure('database');
(sæt det på linje 28)
Din mappestruktur ser således ud nu:
├── app├── bootstrap├── config └── database.php├── database├── public├── ressourcer├─────├ kode>
Selvfølgelig kan du fjerne de forbindelser, du ikke har brug for, fra forbindelsesarrayet i app/config/database.php
ved at kommentere eller fjerne dem helt.
app/config/database.php
'connections' => [ /*'testing' => [ 'driver' => 'sqlite', 'database' => ':hukommelse:', ],*/ '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'), 'brugernavn' => 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', falsk), ],]
Din bootstrap/app.php med ændringerne:
/*|------------------------------------------------ ----------------------------------| Opret applikationen|----------------------------------------------------- ----------------------------|| Her vil vi indlæse miljøet og oprette applikationsforekomsten| der fungerer som den centrale del af denne ramme. Vi bruger dette| applikation som en "IoC"-beholder og router for denne ramme.|*/$app =new Laravel\Lumen\Application( realpath(__DIR__.'/../'));//$app->withFacades();/ / $app->withEloquent();$app->configure('database');
Nu kan du bruge den kode, du allerede har i din routes.php
.
For at slette din retail_db
forbindelse, skal du bare indstille den til null
:
$config->set('database.connections.retail_db', null);