-
Notifications
You must be signed in to change notification settings - Fork 104
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
Sql dump for repo #484
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:
uv
docker
Added dir 'dump_file' in app with dump-hexlet-friends.sql via Git LFS