Я пытаюсь начать работу с 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. Есть идеи? Я искал около часа, но безрезультатно.
Вы должны ввести свою конфигурацию в .env
файл.
Конфигурация, которую вы сделали, будет загружена, только если она еще не определена в .env
Вам нужно использовать pgsql
вместо postgres
,
DB_CONNECTION=pgsql
DB_HOST=localhost
DB_DATABASE=DB_NAME
DB_USERNAME=USER
DB_PASSWORD=PW
Других решений пока нет …