Files
shop10/scripts/fix-db-connection.sh
T

39 lines
1.2 KiB
Bash

#!/bin/bash
# Быстрое исправление ECONNREFUSED 127.0.0.1:5432
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/shop-root.sh"
echo "=== Исправление подключения к PostgreSQL ($SHOP_ROOT) ==="
if ! command -v psql >/dev/null; then
bash "$SCRIPT_DIR/install-postgresql-ubuntu.sh"
fi
bash "$SCRIPT_DIR/setup-postgres-ubuntu.sh"
if [ -f .env ] && ! grep -q '^DATABASE_URL=' .env; then
echo 'DATABASE_URL=postgresql://shop:shop@127.0.0.1:5432/shop' >> .env
echo "Добавлен DATABASE_URL в .env"
fi
if [ -f deploy/shop.service ]; then
cp -f deploy/shop.service /etc/systemd/system/shop.service
sed -i "s|WorkingDirectory=.*|WorkingDirectory=${SHOP_ROOT}|" /etc/systemd/system/shop.service
sed -i "s|EnvironmentFile=.*|EnvironmentFile=${SHOP_ROOT}/.env|" /etc/systemd/system/shop.service
systemctl daemon-reload
fi
systemctl restart shop 2>/dev/null || true
sleep 2
if curl -sf http://127.0.0.1:3000/health; then
echo ""
echo "OK — магазин работает"
systemctl reload caddy 2>/dev/null || true
else
echo "Ошибка — смотрите: journalctl -u shop -n 20 --no-pager"
exit 1
fi