Здравствуйте. Есть проект на PHP в докере.
Docker-compose выглядит так:
services:
web:
#container_name: web
build:
context: ./
dockerfile: ./docker/Dockerfile
environment:
XDEBUG_CONFIG: remote_host=host.docker.internal
PHP_IDE_CONFIG: serverName=localhost
ports:
- 80:80
volumes:
- ./:/var/www
links:
- db
depends_on:
- db
db:
#container_name: postgres
image: 'postgres:13.11'
ports:
- 5432:5432
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_DB: yii2_db
POSTGRES_USER: postgres
USER: postgres
POSTGRES_PASSWORD: password
healthcheck:
test: pg_isready -U $$POSTGRES_USER
volumes:
- .docker/pgdata:/var/lib/postgresql-13/data/pgdata
redis:
image: redis:5-alpine
ports:
- 6379:6379
volumes:
- ./docker/data/redis:/data
Сам проект на yii2. Конфигурация подключения к БД следующая:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=db;dbname=yii2_db',
'username' => 'postgres',
'password' => 'password',
'charset' => 'utf8',
'enableSchemaCache' => 1,
'schemaCacheDuration' => 10,
'attributes' => [
PDO::ATTR_PERSISTENT => true
]
],
При открытии сайта подключение работает корректно, выполняются запросы к БД, отображается информация.
Использую PHPStorm, из него подключаюсь к БД.
До сегодняшнего дня подключение выполнялось корректно, всё работало.
Сегодня при попытке открыть таблицу в БД вижу ошибку database "yii2_db" does not exist, причем сам сайт работает также корректно и подключение к БД выполняется.
В настройках подключения к БД я могу указать любой пароль или не указать вовсе, подключение будет выполняться, если не указывать БД yii2_db. При этом если я изменю или уберу пароль в конфигурации yii2, то на сайте возникнет ошибка. Не понимаю, что происходит.
В чем может быть дело?