#!/bin/bash # Safe Database Restore Script set -e if [ -z "$1" ]; then echo "Usage: $0 " echo "Example: $0 backups/backup_20251113.sql" exit 1 fi BACKUP_FILE="$1" if [ ! -f "$BACKUP_FILE" ]; then echo "❌ Error: Backup file not found: $BACKUP_FILE" exit 1 fi echo "============================================" echo "🔄 Database Restore Process" echo "============================================" echo "Backup file: $BACKUP_FILE" echo "" # Step 1: Stop web application echo "1️⃣ Stopping web application..." docker compose stop web echo "✅ Web application stopped" echo "" # Step 2: Restore database echo "2️⃣ Restoring database..." # Use sed to skip the problematic first line with sandbox mode comment sed '1{/^\/\*M!999999/d;}' "$BACKUP_FILE" | docker compose exec -T db bash -c "mariadb -u trasabilitate -pInitial01! trasabilitate" echo "✅ Database restored" echo "" # Step 3: Start web application echo "3️⃣ Starting web application..." docker compose start web sleep 5 echo "✅ Web application started" echo "" echo "============================================" echo "✅ Database restore completed successfully!" echo "============================================" echo "" echo "Application URL: http://localhost:8781"