Laravel 5 + PostgreSQL: “Database [postgres] not configuration.”错误

我正在尝试开始使用Laravel + PostgreSQL,并一直在学习数据库教程

遗憾的是,在更新数据库配置文件并运行 后,会出现以下错误: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配置问题。有什么想法吗?我已经四处搜索了至少一个小时,但无济于事。


答案 1

您必须在文件中输入配置。.env

仅当中尚未定义您所做的配置时,才会加载这些配置.env

您需要使用 代替 。pgsqlpostgres

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

答案 2

Laravel 有时会缓存您的配置。如果您在一切正常时遇到此问题,请尝试运行

php artisan config:cache


推荐