我试图开始使用Laravel + PostgreSQL并一直关注database tutorial。
不幸的是,在更新数据库配置文件并运行php artisan migrate
之后,出现以下错误:
[InvalidArgumentException]
Database [postgres] not configured.
让我感到困惑的是,我没有指定" postgres"配置中的数据库,但我通过cPanel设置的另一个数据库,说" example_database"。
这是我/config/database.php
配置的一些相关部分:
'default' => env('DB_CONNECTION', 'postgres')
在同一文件的connections
数组中:
'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'
],
我使用的实际数据库凭据在我的SQL Workbench客户端上工作得很好,所以这似乎是一个Laravel配置问题。有任何想法吗?我搜索了至少一个小时但没有用。
答案 0 :(得分:31)
您必须在.env
文件中输入您的配置。
只有在.env
您需要使用pgsql
代替postgres
。
DB_CONNECTION=pgsql
DB_HOST=localhost
DB_DATABASE=DB_NAME
DB_USERNAME=USER
DB_PASSWORD=PW
答案 1 :(得分:1)
Laravel有时会缓存您的配置。如果在一切正常的情况下遇到此问题,请尝试运行
php artisan config:cache