Skip to content
This repository was archived by the owner on Jul 23, 2025. It is now read-only.

Conversation

@AntiViruS90
Copy link
Collaborator

In Makefile made new two commands for dump file:

  1. For uv
  2. For docker

Added dir 'dump_file' in app with dump-hexlet-friends.sql via Git LFS

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
Copy link
Collaborator

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

Copy link
Collaborator Author

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
Copy link
Collaborator

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

@fey fey merged commit d7946d8 into main Feb 3, 2025
2 checks passed
@fey fey mentioned this pull request Feb 3, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants