Laravel 5 + PostgreSQL:"未配置数据库[postgres]。"错误

时间:2016-01-31 08:25:49

标签: php postgresql laravel laravel-5 artisan-migrate

我试图开始使用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配置问题。有任何想法吗?我搜索了至少一个小时但没有用。

2 个答案:

答案 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