-
Notifications
You must be signed in to change notification settings - Fork 102
Conversation
Makefile
Outdated
| psql -U "пользователь" -d "ваша_БД" -f dump_data/dump-hexlet-friends.sql | ||
|
|
||
| compose-load-db: | ||
| docker-compose exec db psql -U ваш_пользователь -d ваша_база_данных -f /app/dump_data/dump-hexlet-friends.sql |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AntiViruS90 по идее для локальной работы (докер комоз), мы используем одного пользователя универсального, например postgres. Для простоты поддержки проще тут для докер композа указать одного статичного юзера.
А для load-db можно использовать переменные. Можно про них почитать тут - https://ru.hexlet.io/blog/posts/makefile-as-task-runner
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Внес изменения в Makefile для переменных из .env
Makefile
Outdated
| uv run python manage.py dbshell < dump_data/dump-hexlet-friends.sql | ||
|
|
||
| compose-load-db: | ||
| docker-compose exec db psql -U $POSTGRES_USER -d $POSTGRES_DB -f /app/dump_data/dump-hexlet-friends.sql |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Теперь осталось унифицировать команды =)
Давайте внутри compose-load-db: выполнять команду make load-db.
По сти compose-* команды - это обертки над обычными. И давайте заменим exec на run. Разница в том, что run запустит контейнер и выполнит команду, запускать нам приложение с БД не нужно будет (оно будет запущено само, главное проверить, что есть зависимости от базы данных в приложении).
Ну и команду compose-load-db можно будет использовать как часть команды-сетапа общего. Чтобы условно сделать make compose-setup и все настроилось. Вот пример из сикпа - https://github.com/Hexlet/hexlet-sicp/blob/2adcb0c67ae33784e96dc688ba84ee83d65a677d/make-compose.mk#L50
In Makefile made new two commands for dump file:
uvdockerAdded dir 'dump_file' in app with dump-hexlet-friends.sql via Git LFS