batch add students: add optional group selection in batch modal
This commit is contained in:
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
# Создаёт архив переноса: БД (dump) + фотографии (uploads).
|
||||
# Использование: ./scripts/backup.sh
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
STAMP=$(date +%Y%m%d-%H%M%S)
|
||||
mkdir -p backups
|
||||
|
||||
echo ">> Экспорт БД"
|
||||
docker compose exec -T db pg_dump -U app -d whereldo | gzip > backups/db.sql.gz
|
||||
|
||||
echo ">> Копирование фотографий"
|
||||
rm -rf backups/_uploads
|
||||
mkdir -p backups/_uploads
|
||||
docker cp "whatido-app-1:/app/uploads/." "backups/_uploads/"
|
||||
|
||||
echo ">> Сборка архива"
|
||||
tar -czf "backups/whatido-backup-$STAMP.tar.gz" -C backups db.sql.gz _uploads
|
||||
rm -rf backups/_uploads backups/db.sql.gz
|
||||
|
||||
echo "Готово: backups/whatido-backup-$STAMP.tar.gz"
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
# Восстанавливает данные из архива переноса на новом устройстве.
|
||||
# Порядок: скопировать папку проекта + архив, затем ./scripts/restore.sh <архив>
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
BK="${1:?Использование: $0 <backup.tar.gz>}"
|
||||
[ -f "$BK" ] || { echo "Файл не найден: $BK"; exit 1; }
|
||||
|
||||
echo ">> Сборка и запуск стека"
|
||||
docker compose up -d --build
|
||||
|
||||
echo ">> Ожидание БД"
|
||||
for _ in $(seq 1 60); do
|
||||
docker compose exec -T db pg_isready -U app -d whereldo >/dev/null 2>&1 && break
|
||||
sleep 1
|
||||
done
|
||||
|
||||
TMP=$(mktemp -d)
|
||||
trap 'rm -rf "$TMP"' EXIT
|
||||
echo ">> Распаковка архива"
|
||||
tar -xzf "$BK" -C "$TMP"
|
||||
|
||||
echo ">> Остановка приложения"
|
||||
docker compose stop app
|
||||
|
||||
echo ">> Восстановление БД (чистая схема)"
|
||||
docker compose exec -T db psql -U app -d whereldo -c 'DROP SCHEMA public CASCADE; CREATE SCHEMA public;' >/dev/null
|
||||
gzip -dc "$TMP/db.sql.gz" | docker compose exec -T db psql -U app -d whereldo
|
||||
|
||||
echo ">> Восстановление фотографий"
|
||||
docker cp "$TMP/_uploads/." "whatido-app-1:/app/uploads/"
|
||||
|
||||
echo ">> Запуск приложения"
|
||||
docker compose start app
|
||||
|
||||
echo "Готово. Проверка: https://localhost:3443 (админка /dashboard.html, пароль из .env)"
|
||||
Reference in New Issue
Block a user