31 lines
899 B
Bash
31 lines
899 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
if [[ $# -ne 1 ]]; then
|
|
echo "Gebruik: $0 /pad/naar/backup.sql.gz|backup.sqlite3" >&2
|
|
exit 2
|
|
fi
|
|
cd "$(dirname "$0")/.."
|
|
backup="$1"
|
|
[[ -f "$backup" ]] || { echo "Back-up bestaat niet: $backup" >&2; exit 1; }
|
|
|
|
set -a
|
|
[[ -f .env ]] && source .env
|
|
set +a
|
|
|
|
case "$backup" in
|
|
*.sql.gz)
|
|
[[ -n "${DATABASE_URL:-}" ]] || { echo "DATABASE_URL ontbreekt" >&2; exit 1; }
|
|
command -v psql >/dev/null || { echo "psql ontbreekt" >&2; exit 1; }
|
|
gzip -dc "$backup" | psql "${DATABASE_URL}"
|
|
;;
|
|
*.sqlite3)
|
|
mkdir -p local
|
|
[[ ! -f local/db.sqlite3 ]] || cp local/db.sqlite3 "local/db.sqlite3.before-restore-$(date +%s)"
|
|
cp "$backup" local/db.sqlite3
|
|
;;
|
|
*) echo "Onbekend back-upformaat" >&2; exit 1 ;;
|
|
esac
|
|
uv run python manage.py migrate --noinput
|
|
uv run python manage.py check
|
|
echo "Herstel voltooid; voer ./scripts/codex_verify.sh uit."
|