2017-11-26 4 views
1

habe ich installiert Lumen 5.5 und .env konfiguriert:Wie verwenden Sie mehrere DB-Verbindungen mit .env in Lumen 5.5 ..?

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=2gh4RD89kWa87clEs6Vhjso3XhsFo3dR 
APP_TIMEZONE=UTC 

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=XXXXXX 
DB_USERNAME=XXXXXX 
DB_PASSWORD=XXXXXX 

CACHE_DRIVER=memcached 
QUEUE_DRIVER=sync 

und erstellt ein Modell Eloquent mit:

namespace App\Models; 

use Illuminate\Database\Eloquent\Model; 

class Test extends Model { 

    public $timestamps = false; 
    protected $connection = 'foo'; 
} 

jetzt keine Dokumention auf der offiziellen Website gibt es mehrere DB-Verbindung in .env Datei konfigurieren . Meine einzelne Verbindung funktioniert vollkommen in Ordnung, aber jetzt muss ich eine weitere DB Verbindungsdetails hinzufügen.

Was ich bisher versucht haben:

  1. Erstellt db-Konfigurationsdatei als app/config/database.php mit mehreren db Details aber mein Setup bekommen nicht betroffen, was ich in dieser Datei schreiben. Es verwendet nur .env, um Verbindungsdetails zu erhalten.

  2. wie mehrere DB-Verbindungsdetails in .env Datei hinzuzufügen versucht:

    DB_Connection = mysql DB_HOST = 127.0.0.1 DB_PORT = 3306 DB_DATABASE = XXXXXX DB_USERNAME = XXXXXX DB_PASSWORD = XXXXXX

    FOO_DB_CONNECTION = mysql FOO_DB_HOST = 127.0.0.1 FOO_DB_PORT = 3306 FOO_DB_DATABASE = FOOXXXXXX FOO_DB_USERNAME = FOOXXXXXX FOO_DB_PASSWORD = FOOXXXXXX

    DB_CONNECTION_FOO = mysql DB_HOST_FOO = 127.0.0.1 DB_PORT_FOO = 3306 DB_DATABASE_FOO = FOOXXXXXX DB_USERNAME_FOO = FOOXXXXXX DB_PASSWORD_FOO = FOOXXXXXX

Aber es gerade halten mir diesen Fehler geben:

(1/1) InvalidArgumentException 
Database [foo] not configured. 

Ich habe alles versucht, was ich bei Google gefunden habe. Bitte hilf mir..!!

+0

Zeigen Sie Ihre Datenbankkonfigurationsdatei an. Natürlich entfernen Sie sensible Daten. – Wolen

+0

Er fügte env details hinzu, nicht die Details der Datenbankkonfiguration. @Ritesh bitte posten Sie Ihre Datenbank.php – ayip

+0

Wie ich in meiner Frage erwähnt habe, funktioniert config/database.php nicht für mich. Entweder ich erstelle diese Datei oder nicht .. mein Projekt läuft gleich. – Ritesh

Antwort

1

Die Art, wie ich in meinem Projekt konfiguriert (in Lumen ist 5.4) ist wie folgt:

im config/database.php

'pgsql' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST', 'db'), 
     'port'  => env('DB_PORT', 5432), 
     'database' => env('DB_DATABASE', 'service_db'), 
     'username' => env('DB_USERNAME', 'service_user'), 
     'password' => env('DB_PASSWORD'), 
     'charset' => env('DB_CHARSET', 'utf8'), 
     'prefix' => env('DB_PREFIX', ''), 
     'schema' => env('DB_SCHEMA', 'public'), 
    ], 

    'pgsql2' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST2', 'db'), 
     'port'  => env('DB_PORT', 5432), 
     'database' => env('DB_DATABASE2', 'service_db'), 
     'username' => env('DB_USERNAME2', 'service_user'), 
     'password' => env('DB_PASSWORD2'), 
     'charset' => env('DB_CHARSET', 'utf8'), 
     'prefix' => env('DB_PREFIX', ''), 
     'schema' => env('DB_SCHEMA2', 'public'), 
    ], 

I 2 Verbindungen mit 2 verschiedenen Namen erstellt haben und jeweils Verbindungspunkte eine andere env-Variable für db host/database/username/password/schema. Wenn dies nicht hilft, poste deine Datenbank.php Datei.

+0

Dummer Fehler, den ich getan habe .. wurde der Ordner config in App-Ordner platziert .. Umzug aus App-Ordner gearbeitet .. !! Vielen Dank..!! – Ritesh

Verwandte Themen