Symfony — где и как подключить базу данных

Admin MySQL, Symfony

В каком файле подключается база данных в Symfony.

Работа с базой данных:
https://symfony.com/doc/current/doctrine.html

Есть минимум три варианта.

1. Указать соединение с БД в файлах .env

Этот вариант предпочтительно в локальной среде, но можно и на продакшене.

Настройки для базы данных лежат в файле .env:

Не стоит указывать здесь root пользователя. Лучше пользователя для соединения с конкретной ДБ сайта.

Если это продакшен, тут также стоит изменить APP_ENV конфигурацию на prod:

APP_ENV=prod

2. doctrine.yaml

Кроме этого файла информацию можно забить сразу в файл /config/packages/doctrine.yaml.

Вместо:

url: '%env(resolve:DATABASE_URL)%'

Указать соединение с БД.

3. Настройка через apache

Еще лучшей практикой считается настройка соединения с базой данных в конфигурационных файлах apache. Подробности можно узнать из официальной документации Symfony.

Возможные ошибки

Ошибка 1

Если при соединении с БД возникают ошибки, то возможно поможет изменение этого значения в файле /config/packages/doctrine.yaml:

url: '%env(resolve:DATABASE_URL)%'

На это:

url: '%env(DATABASE_URL)%'

Ошибка 2

Ругается на строку подключения в файле .env:

In DriverManager.php line 275:
Malformed parameter «url».

Не нравится пароль для соединения с MySQL. С паролем то все в порядке, но вот с прочитать с чего-то скрипту сложновато. Можно пароль перекодировать в специальном формате, но проще его поменять, не используя знаки типа ^#. После этого проблема исчезнет.

Что дальше

После установки соединения с БД можно перейти к миграции локальных баз данных на прод.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Symfony — где и как подключить базу данных"