36 lines
1.3 KiB
Bash
36 lines
1.3 KiB
Bash
|
|
#!/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!"
|