Files
proxmox/scripts/run-order-database-migrations.sh

42 lines
1.5 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
set -euo pipefail
# Load IP configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
# Run Database Migrations for Order Services
NODE_IP="${PROXMOX_HOST_R630_01}"
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!"