23 lines
609 B
Bash
Executable File
23 lines
609 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ $# -ne 1 ]]; then
|
|
echo "Usage: $0 path/to/backup.dump" >&2
|
|
exit 2
|
|
fi
|
|
|
|
BACKUP_FILE="$1"
|
|
COMPOSE="${COMPOSE:-docker compose}"
|
|
DB_SERVICE="${DB_SERVICE:-db}"
|
|
POSTGRES_DB="${POSTGRES_DB:-drivers}"
|
|
POSTGRES_USER="${POSTGRES_USER:-drivers}"
|
|
|
|
if [[ ! -f "$BACKUP_FILE" ]]; then
|
|
echo "Backup file not found: $BACKUP_FILE" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Restoring $BACKUP_FILE into $POSTGRES_DB. This replaces database contents."
|
|
cat "$BACKUP_FILE" | $COMPOSE exec -T "$DB_SERVICE" pg_restore -U "$POSTGRES_USER" -d "$POSTGRES_DB" --clean --if-exists
|
|
echo "Restore complete"
|