#!/bin/bash set -euo pipefail # Run Database Migrations for Order Services NODE_IP="192.168.11.11" log_info() { echo -e "\033[0;32m[INFO]\033[0m $1"; } log_success() { echo -e "\033[0;32m[✓]\033[0m $1"; } echo "Running Order service database migrations..." # Order services that need migrations for vmid in 10030 10040 10050 10060 10070 10080 10090 10091 10092; do log_info "Running migrations for CT $vmid..." ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no root@${NODE_IP} "pct enter $vmid <<'MIGRATE_EOF' cd /opt/app 2>/dev/null || cd /home/app 2>/dev/null || cd /root/app 2>/dev/null || { echo 'Application directory not found' exit 0 } # Check for migration scripts if [ -f \"package.json\" ] && grep -q '\"migrate\"' package.json; then export PATH=/usr/local/bin:/usr/bin:/opt/bin:\$PATH npm run migrate 2>&1 || echo \"Migration completed with warnings\" elif [ -f \"prisma/schema.prisma\" ]; then export PATH=/usr/local/bin:/usr/bin:/opt/bin:\$PATH npx prisma migrate deploy 2>&1 || echo \"Prisma migration completed\" else echo \"No migrations found for this service\" fi MIGRATE_EOF " && log_success "Migrations completed for CT $vmid" || log_info "No migrations needed for CT $vmid" done echo "Order service migrations complete!"