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.
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
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