Создание БД и установка Doctrine ORM

Подключение базы данных в Docker. Конфигурирование через переменными окружения. Плюсы и минусы подходов DB-First и Code-First. Обзор Doctrine ORM. Установка библиотеки и регистрация EntityManager в DI контейнере.

Скрытый контент
Комментарии (15)
Arunas
2020-02-20 16:41

Спасибо.

Ответить
Роман
2020-02-20 19:31

Смотрю на это все и не понимаю, как один человек столько может знать не только в теории но и на практике.

Ответить
Arunas
2020-02-20 20:02

Какой connection string url будет, если БД устроинна с наруже, не в докере? Если можете, напишите, пожалуйста (надо как то корегировать api/config/common/doctrine.php или нет).

Ответить
Дмитрий (Deworker Pro)
2020-02-21 10:54

Тогда вместо хоста api-postgres указывают IP-адрес сервера с БД.

Ответить
Arunas
2020-02-21 11:37

спасибо.

Ответить
Arunas
2020-02-24 12:47

Как правильно делаются backup БД при работе в докерском окружении? Можно этот backup БД делать с кроном, какая практика с backup БД? (если можете, пакажите пример) Влиялить или нет на производительност сайта или надёжность данных backup БД?

Ответить
Дмитрий (Deworker Pro)
2020-02-25 09:11

Можно обычным вызовом pgdump внутри контейнера:

docker-compose exec api-postgres pgdump ...
Ответить
Роман
2020-05-21 10:02

Добрай день Дмитрий,спасибо за качественный материал, вопрос не по теме, но будет ли в курсе рассмотрена тема поднятие нескольких бд master-slaves (в частности для продакта), и работа с ними, а также разные типы блокировки postgresql ? Заранее блогадарю

Ответить
Дмитрий (Deworker Pro)
2020-05-22 06:35

Репликации не будет. Но для этого можно взять образ bitnami/postgresql и настроить как в примере Setting up a streaming replication.

При работе с Doctrine рассмотрим оптимистическую блокировку. Во многих случаях её будет достаточно.

Ответить
Олег
2020-06-02 20:14

не очень понятно, почему на 39:25 в консоль не вылетает ошибка, ведь array_merge_recursive сформирует вот такое значение под ключем cache_dir => array('DIR из common', 'null из dev'), а потом передаст это значение в createAnnotationMetadataConfiguration, и упадет в фаталом, что ждет строку, а не массив Как так?

Ответить
Олег
2020-06-02 20:23

array_replace_recursive - не усмотрел

Ответить
Андрей
2020-06-24 21:49

Вопрос о правах записи в одну и ту же папку кешу между контейнерами php-cli и php-fpm. Почему мы сделали запись в разные папки только для dev окружения, а для продакшена оставили без изменений? Ведь на продакшене такая же проблема будет...

Ответить
Дмитрий (Deworker Pro)
2020-06-28 16:58

На продакшене не будет. Там контейнеры php-cli и php-fpm пишут каждый в свою внутреннюю папку, а не как в dev в одну общую, примонтированную через volume.

Ответить
Олег
2020-07-01 11:17

Дмитрий, поясните пжл, что это за volumes:

 api-postgres:

Что это значит и где по факту хранятся данные?

Ответить
Дмитрий (Deworker Pro)
2020-07-03 19:35

Значит, что создаётся вольюм с настройками по умолчанию.

В случае docker-compose хранятся в папке /var/lib/docker/volumes/auction_api-postgres

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий