37 lines
988 B
Bash
Executable File
37 lines
988 B
Bash
Executable File
#!/bin/bash
|
|
# Testet die Datenbankverbindung ohne interaktive Shell
|
|
|
|
set -e
|
|
|
|
# DATABASE_URL laden
|
|
if [ -f .env.local ]; then
|
|
DATABASE_URL=$(grep -E "^DATABASE_URL=" .env.local | cut -d '=' -f2- | tr -d '"' | tr -d "'")
|
|
fi
|
|
|
|
if [ -z "$DATABASE_URL" ] && [ -f .env ]; then
|
|
DATABASE_URL=$(grep -E "^DATABASE_URL=" .env | cut -d '=' -f2- | tr -d '"' | tr -d "'")
|
|
fi
|
|
|
|
if [ -z "$DATABASE_URL" ]; then
|
|
echo "DATABASE_URL nicht gefunden"
|
|
exit 1
|
|
fi
|
|
|
|
# Verbindung testen
|
|
echo "Teste Verbindung..."
|
|
if psql "$DATABASE_URL" -c "SELECT 1;" > /dev/null 2>&1; then
|
|
echo "Verbindung erfolgreich!"
|
|
|
|
# Zusaetzliche Infos
|
|
echo ""
|
|
echo "Datenbank-Info:"
|
|
psql "$DATABASE_URL" -c "SELECT current_database() as database, current_user as user, version();" 2>/dev/null
|
|
|
|
echo ""
|
|
echo "Tabellen:"
|
|
psql "$DATABASE_URL" -c "\dt" 2>/dev/null || echo "(keine Tabellen gefunden)"
|
|
else
|
|
echo "Verbindung fehlgeschlagen!"
|
|
exit 1
|
|
fi
|