2016-01-31 4 views
9

Ich versuche, mit Laravel + PostgreSQL zu beginnen und folgte der database tutorial.Laravel 5 + PostgreSQL: "Datenbank [postgres] nicht konfiguriert." Fehler

Leider nach der Datenbank-Konfigurationsdatei zu aktualisieren und php artisan migrate läuft, wird die folgende Fehlermeldung angezeigt:

[InvalidArgumentException] 
    Database [postgres] not configured. 

Was mir ein Rätsel ist, dass ich nicht die „Postgres“ Datenbank in der Konfiguration angegeben haben, aber eine andere Datenbank Ich setze cPanel und sage "example_database".


Hier einige relevante Teile meines /config/database.php Konfiguration:

'default' => env('DB_CONNECTION', 'postgres') 

Und im Inneren des connections Array der gleichen Datei:

'pgsql' => [ 
     'driver' => 'pgsql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'example_database'), // This seems to be ignored 
     'username' => env('DB_USERNAME', 'example_username'), 
     'password' => env('DB_PASSWORD', 'example_password'), 
     'charset' => 'utf8', 
     'prefix' => '', 
     'schema' => 'public' 
    ], 

die eigentlichen Datenbankanmeldeinformationen Ich verwende arbeiten Perfekt auf meinem SQL Workbench-Client, also scheint dies ein Laravel-Konfigurationsproblem zu sein. Irgendwelche Ideen? Ich habe mindestens eine Stunde lang vergebens gesucht.

Antwort

20

Sie müssen Ihre Konfiguration in die Datei .env eingeben.

Alle Konfiguration nur geladen werden, gemacht werden, wenn die Werte in nicht .env

definiert sind, müssen Sie pgsql verwenden, anstatt posgress.

DB_CONNECTION=pgsql 
DB_HOST=localhost 
DB_DATABASE=DB_NAME 
DB_USERNAME=USER 
DB_PASSWORD=PW 
+0

Danke für die Erklärung. Ich habe die Änderung in der .env-Datei vorgenommen, aber der Fehler ist derselbe. Gibt es noch etwas, das mir fehlt? –

+0

@FranciscoH. Ich habe gerade meine Antwort aktualisiert. Benenne 'postgress 'in' pgsql' um. – Fiete

+0

Einstellung 'DB_CONNECTION = pgsql' gibt den folgenden Fehler:' Treiber konnte nicht gefunden werden'. Ich habe es als 'DB_CONNECTION = postgres' basierend auf dieser Antwort gesetzt http://stackoverflow.com/a/25336292/1467941 –