Добавлены скрипты для работы с дампами БД
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 7s

- Создан скрипт dump-db.sh для создания дампов (по умолчанию из .env.prod)
- Создан скрипт restore-db.sh для восстановления дампов (по умолчанию в .env.local)
- Создан скрипт list-dumps.sh для просмотра списка дампов
- Добавлена директория database-dumps/ для хранения дампов
- Обновлен .gitignore для исключения дампов и env файлов
- Исправлен контекст сборки в docker-compose.yml для backend
- Добавлено автоматическое ограничение количества дампов (максимум 10)
This commit is contained in:
poignatov
2025-12-31 18:24:15 +03:00
parent a2afe44e0e
commit 63af6bf4ed
7 changed files with 361 additions and 2 deletions

62
database-dumps/README.md Normal file
View File

@@ -0,0 +1,62 @@
# Database Dumps
Эта директория содержит дампы базы данных для разработки и тестирования.
## Использование
### Создание дампа
```bash
# Дамп из production БД (по умолчанию .env.prod)
./dump-db.sh
# Дамп с именем
./dump-db.sh production-backup
# Дамп из локальной БД
./dump-db.sh --env-file .env.local
# Дамп из другого окружения
./dump-db.sh --env-file .env.prod my-backup
```
### Просмотр дампов
```bash
./list-dumps.sh
```
### Восстановление дампа
```bash
# Восстановление в локальную БД (по умолчанию .env.local)
./restore-db.sh dump_20240101_120000.sql.gz
# Восстановление в production БД
./restore-db.sh --env-file .env.prod dump_20240101_120000.sql.gz
# Можно указать имя без расширения
./restore-db.sh dump_20240101_120000
```
## Поведение по умолчанию
- **Создание дампа**: использует `.env.prod` (production БД)
- **Восстановление**: использует `.env.local` (локальная БД)
Это можно изменить с помощью параметра `--env-file`.
## Важно
⚠️ **Восстановление дампа удалит все данные в целевой базе данных!**
Всегда проверяйте, в какую БД вы восстанавливаете данные.
## Формат файлов
Дампы сохраняются в формате:
- `dump_YYYYMMDD_HHMMSS.sql.gz` - автоматическое имя с датой/временем
- `имя_дампа.sql.gz` - именованный дамп
Все дампы автоматически сжимаются с помощью gzip.