#!/usr/bin/env bash set -euo pipefail ENV_FILE="${ENV_FILE:-./.env}" if [[ -f "$ENV_FILE" ]]; then set -a # shellcheck source=/dev/null . "$ENV_FILE" set +a fi if [[ -z "${BACKUP_FILE:-}" ]]; then echo "BACKUP_FILE is required." exit 1 fi if [[ -z "${DATABASE_URL:-}" ]]; then echo "DATABASE_URL is required." exit 1 fi RESTORE_DB="${RESTORE_DB:-skymoney_restore_test}" RESTORE_URL="${RESTORE_DATABASE_URL:-}" ADMIN_URL="${ADMIN_DATABASE_URL:-$DATABASE_URL}" if [[ -z "$RESTORE_URL" ]]; then echo "RESTORE_DATABASE_URL is required (example: postgresql://user:pass@host:5432/${RESTORE_DB})." exit 1 fi echo "Creating restore database: ${RESTORE_DB}" psql "$ADMIN_URL" -v ON_ERROR_STOP=1 -c "DROP DATABASE IF EXISTS \"${RESTORE_DB}\";" >/dev/null psql "$ADMIN_URL" -v ON_ERROR_STOP=1 -c "CREATE DATABASE \"${RESTORE_DB}\";" >/dev/null pg_restore --no-owner --no-privileges --dbname="$RESTORE_URL" "$BACKUP_FILE" echo "Restore completed into: ${RESTORE_DB}"