Added support for Streamdeck Pedal and updated UI to better fit the Packed UI style
This commit is contained in:
113
pirp/reset.sh
Normal file
113
pirp/reset.sh
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
# PIRP Reset Script - Setzt DB und Uploads komplett zurück
|
||||
# Default Login nach Reset: admin:admin
|
||||
#
|
||||
# Verwendung:
|
||||
# ./reset.sh - Interaktiv (fragt nach Docker/Lokal)
|
||||
# ./reset.sh docker - Nur Docker
|
||||
# ./reset.sh local - Nur Lokal
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# DB-Verbindungsdaten für lokalen Betrieb (aus config.php oder Env)
|
||||
DB_HOST="${DB_HOST:-127.0.0.1}"
|
||||
DB_PORT="${DB_PORT:-5432}"
|
||||
DB_NAME="${DB_NAME:-pirp}"
|
||||
DB_USER="${DB_USER:-pirp_user}"
|
||||
DB_PASS="${DB_PASS:-PIRPdb2025!}"
|
||||
|
||||
# admin:admin Password Hash
|
||||
ADMIN_HASH='$2y$10$YourHashHere'
|
||||
|
||||
echo "=== PIRP Reset ==="
|
||||
echo "WARNUNG: Dies löscht ALLE Daten (Datenbank + Uploads)!"
|
||||
echo ""
|
||||
|
||||
# Modus bestimmen
|
||||
MODE="$1"
|
||||
if [ -z "$MODE" ]; then
|
||||
echo "Welchen Modus verwenden?"
|
||||
echo " 1) Docker (docker-compose)"
|
||||
echo " 2) Lokal (PostgreSQL direkt)"
|
||||
echo ""
|
||||
read -p "Auswahl (1/2): " choice
|
||||
case "$choice" in
|
||||
1) MODE="docker" ;;
|
||||
2) MODE="local" ;;
|
||||
*) echo "Ungültige Auswahl."; exit 1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo ""
|
||||
read -p "Wirklich ALLE Daten löschen? (ja/nein): " confirm
|
||||
if [ "$confirm" != "ja" ]; then
|
||||
echo "Abgebrochen."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Uploads löschen
|
||||
echo ""
|
||||
echo "=> Uploads löschen..."
|
||||
rm -rf public/uploads/logos/* 2>/dev/null || true
|
||||
rm -rf public/uploads/expenses/* 2>/dev/null || true
|
||||
rm -rf public/uploads/invoices/* 2>/dev/null || true
|
||||
mkdir -p public/uploads/logos public/uploads/expenses public/uploads/invoices
|
||||
echo " Uploads gelöscht."
|
||||
|
||||
if [ "$MODE" = "docker" ]; then
|
||||
# === DOCKER MODUS ===
|
||||
echo ""
|
||||
echo "=> Docker Container stoppen und Volume löschen..."
|
||||
docker compose down -v 2>/dev/null || docker-compose down -v 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "=> Docker Container neu starten..."
|
||||
docker compose up -d 2>/dev/null || docker-compose up -d
|
||||
|
||||
echo ""
|
||||
echo "=> Warte auf Datenbank..."
|
||||
sleep 5
|
||||
|
||||
echo ""
|
||||
echo "=> Migrationen ausführen..."
|
||||
docker compose exec -T db psql -U "$DB_USER" -d "$DB_NAME" -f /docker-entrypoint-initdb.d/02-journal.sql 2>/dev/null || true
|
||||
|
||||
else
|
||||
# === LOKAL MODUS ===
|
||||
export PGPASSWORD="$DB_PASS"
|
||||
|
||||
echo ""
|
||||
echo "=> Datenbank zurücksetzen..."
|
||||
|
||||
# Alle Tabellen droppen und Schema neu erstellen
|
||||
echo " Schema anwenden..."
|
||||
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f schema.sql
|
||||
|
||||
echo " Journal-Migration..."
|
||||
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f tools/migrate_journal.sql
|
||||
|
||||
# Admin-User erstellen (admin:admin)
|
||||
echo " Admin-User erstellen..."
|
||||
ADMIN_HASH=$(php -r "echo password_hash('admin', PASSWORD_DEFAULT);")
|
||||
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" <<EOF
|
||||
INSERT INTO users (username, password_hash)
|
||||
VALUES ('admin', '$ADMIN_HASH')
|
||||
ON CONFLICT (username) DO UPDATE SET password_hash = EXCLUDED.password_hash;
|
||||
EOF
|
||||
|
||||
unset PGPASSWORD
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Reset abgeschlossen ==="
|
||||
echo ""
|
||||
echo "Login: admin / admin"
|
||||
if [ "$MODE" = "docker" ]; then
|
||||
echo "URL: http://localhost:8080"
|
||||
else
|
||||
echo "Starte Server mit: php -S localhost:8080 -t public"
|
||||
fi
|
||||
echo ""
|
||||
Reference in New Issue
Block a user