Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
104
scripts/fix-database-password-manual.sh
Executable file
104
scripts/fix-database-password-manual.sh
Executable file
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to fix database password for explorer backend
|
||||
# This script must be run with sudo privileges to reset the PostgreSQL password
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
# Default configuration
|
||||
DB_USER="${DB_USER:-explorer}"
|
||||
DB_PASSWORD="${DB_PASSWORD:-changeme}"
|
||||
DB_NAME="${DB_NAME:-explorer}"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Database Password Fix Script"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "This script will:"
|
||||
echo " 1. Create or update the 'explorer' PostgreSQL user with password 'changeme'"
|
||||
echo " 2. Create the 'explorer' database if it doesn't exist"
|
||||
echo " 3. Grant all privileges to the explorer user"
|
||||
echo ""
|
||||
echo "Configuration:"
|
||||
echo " User: $DB_USER"
|
||||
echo " Password: $DB_PASSWORD"
|
||||
echo " Database: $DB_NAME"
|
||||
echo ""
|
||||
|
||||
# Check if running as root or with sudo
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "⚠️ This script requires sudo privileges to modify PostgreSQL."
|
||||
echo ""
|
||||
echo "Please run this script with sudo:"
|
||||
echo " sudo ./scripts/fix-database-password-manual.sh"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if PostgreSQL is running
|
||||
echo -n "Checking PostgreSQL... "
|
||||
if systemctl is-active --quiet postgresql || pg_isready >/dev/null 2>&1; then
|
||||
echo "✅ PostgreSQL is running"
|
||||
else
|
||||
echo "❌ PostgreSQL is not running"
|
||||
echo "Please start PostgreSQL first:"
|
||||
echo " sudo systemctl start postgresql"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create or update user
|
||||
echo ""
|
||||
echo "Creating/updating PostgreSQL user '$DB_USER'..."
|
||||
sudo -u postgres psql -c "DO \$\$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT FROM pg_user WHERE usename = '$DB_USER') THEN
|
||||
CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';
|
||||
RAISE NOTICE 'User $DB_USER created';
|
||||
ELSE
|
||||
ALTER USER $DB_USER WITH PASSWORD '$DB_PASSWORD';
|
||||
RAISE NOTICE 'User $DB_USER password updated';
|
||||
END IF;
|
||||
END
|
||||
\$\$;" 2>&1
|
||||
|
||||
# Create database
|
||||
echo ""
|
||||
echo "Creating database '$DB_NAME'..."
|
||||
sudo -u postgres psql -c "SELECT 1 FROM pg_database WHERE datname = '$DB_NAME'" | grep -q 1 || \
|
||||
sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_USER;" 2>&1
|
||||
|
||||
# Grant privileges
|
||||
echo ""
|
||||
echo "Granting privileges..."
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" 2>&1
|
||||
|
||||
# Test connection
|
||||
echo ""
|
||||
echo -n "Testing database connection... "
|
||||
if PGPASSWORD="$DB_PASSWORD" psql -h localhost -U "$DB_USER" -d "$DB_NAME" -c "SELECT 1;" >/dev/null 2>&1; then
|
||||
echo "✅ Connection successful!"
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "✅ Database password has been fixed!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Restart the backend service:"
|
||||
echo " kill \$(cat /tmp/explorer_backend.pid) 2>/dev/null; ./scripts/start-backend-service.sh"
|
||||
echo ""
|
||||
echo "2. Verify the connection:"
|
||||
echo " curl http://localhost:8080/health"
|
||||
echo ""
|
||||
exit 0
|
||||
else
|
||||
echo "❌ Connection still failing"
|
||||
echo ""
|
||||
echo "Please check:"
|
||||
echo " 1. PostgreSQL is running: sudo systemctl status postgresql"
|
||||
echo " 2. User exists: sudo -u postgres psql -c '\\du'"
|
||||
echo " 3. Database exists: sudo -u postgres psql -c '\\l'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user