Настройка доступа к PostgreSQL в приложении на Laravel в Docker-е на примере Laradock
1. В файле config/database.php
строчку
'default' => env('DB_CONNECTION', 'mysql'),
заменить на
'default' => env('DB_CONNECTION', 'pgsql'),
то есть задаём по умолчанию настройку о том, что подключаемся к PostgreSQL, а не к MySQL.
2. В файле laradock/.env
пример настроек подключения к PostgreSQL может выглядеть следующим образом:
### POSTGRES ############################################## POSTGRES_VERSION=alpine POSTGRES_DB=default POSTGRES_USER=default POSTGRES_PASSWORD=secret POSTGRES_PORT=5432 POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
3. В файле .env
приложения на laravel указать следующим настройки подключения к БД:
DB_CONNECTION=pgsql DB_HOST=postgres DB_PORT=5432 DB_DATABASE=postgres DB_USERNAME=default DB_PASSWORD=secret
То есть по сути должны совпадать значения следующих переменных из 2-х файлов
Файл laradock/.env | Файл .env приложения |
---|---|
POSTGRES_USER | DB_USERNAME |
POSTGRES_PORT | DB_PORT |
POSTGRES_PASSWORD | DB_PASSWORD |
Обратить внимание стоит на имя хоста PostgreSQL в Laradock-е, к которому идёт подключение, а именно DB_HOST=postgres
.