web-dev-qa-db-fra.com

Laravel 5 + PostgreSQL: "Base de données [postgres] non configurée." Erreur

J'essaie de commencer avec Laravel + PostgreSQL et j'ai suivi le tutoriel de base de données .

Malheureusement, après la mise à jour du fichier de configuration de la base de données et l'exécution de php artisan migrate, l'erreur suivante apparaît:

  [InvalidArgumentException]
  Database [postgres] not configured.

Ce qui m'intrigue, c'est que je n'ai pas spécifié la base de données "postgres" dans la configuration, mais une autre base de données que j'ai définie via cPanel, dites "example_database".


Voici quelques parties pertinentes de mon /config/database.php configuration:

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

Et à l'intérieur du tableau connections du même fichier:

'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'
    ],

Les informations d'identification de base de données que j'utilise fonctionnent parfaitement sur mon client SQL Workbench, donc cela semble être un problème de configuration Laravel. Des idées? J'ai cherché autour pendant au moins une heure sans profiter.

13
Francisco Hodge

Vous devez saisir votre configuration dans le .env fichier.

La configuration que vous avez effectuée ne sera chargée que si elle n'est pas déjà définie dans .env

Vous devez utiliser pgsql au lieu de postgres.

DB_CONNECTION=pgsql
DB_Host=localhost
DB_DATABASE=DB_NAME
DB_USERNAME=USER
DB_PASSWORD=PW 
32
Fiete

Laravel met parfois en cache vos configurations. Si vous rencontrez ce problème alors que tout semble correct, essayez de lancer

php artisan config:cache

2
Bubunyo Nyavor