Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
42 lines
1.5 KiB
Bash
Executable File
42 lines
1.5 KiB
Bash
Executable File
#!/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!"
|