Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sql dump for repo #484

Merged
merged 5 commits into from
Feb 3, 2025
Merged

Sql dump for repo #484

merged 5 commits into from
Feb 3, 2025

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 join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants