#!/bin/bash echo "🔧 NeoNail DB - Vollständige Reparatur" echo "=====================================" # 1. SQLite-Treiber installieren echo "🗄️ Installiere SQLite-Treiber..." apt update apt install -y sqlite3 php-sqlite3 php-pdo-sqlite # 2. Cache-Dateien löschen (Pail-Problem) echo "🧹 Lösche Cache-Dateien..." rm -f bootstrap/cache/packages.php rm -f bootstrap/cache/services.php rm -f bootstrap/cache/config.php # 3. .env erstellen echo "📝 Erstelle .env Datei..." if [ ! -f ".env" ]; then cp env-production-example.txt .env fi # 4. SQLite-Datenbank erstellen echo "🗄️ Erstelle SQLite-Datenbank..." touch database.sqlite chmod 664 database.sqlite # 5. Berechtigungen setzen echo "🔐 Setze Berechtigungen..." chmod -R 777 storage/ chmod -R 777 bootstrap/cache/ chmod 644 .env # 6. Composer autoload neu generieren echo "🔄 Generiere autoload neu..." if command -v composer &> /dev/null; then composer dump-autoload --optimize elif [ -f "composer.phar" ]; then php composer.phar dump-autoload --optimize else echo "⚠️ Composer nicht verfügbar" fi # 7. Laravel Cache leeren echo "🧹 Leere Laravel Cache..." php artisan config:clear 2>/dev/null || echo "⚠️ config:clear übersprungen" php artisan cache:clear 2>/dev/null || echo "⚠️ cache:clear übersprungen" # 8. Migrationen ausführen echo "🗃️ Führe Migrationen aus..." php artisan migrate --force 2>/dev/null || echo "⚠️ Migrationen übersprungen" # 9. Storage Link erstellen echo "🔗 Prüfe Storage Link..." if [ ! -L "public/storage" ]; then php artisan storage:link 2>/dev/null || echo "⚠️ Storage Link übersprungen" else echo "✅ Storage Link bereits vorhanden" fi echo "" echo "✅ Vollständige Reparatur abgeschlossen!" echo "" echo "📋 Testen Sie:" echo "1. php artisan --version" echo "2. php -m | grep sqlite" echo "3. http://192.168.30.81" echo "" echo "📋 Admin-User erstellen:" echo "php artisan tinker" echo "use App\Models\User;" echo "User::create(['name' => 'Admin', 'email' => 'admin@neonail.com', 'password' => bcrypt('ihr_passwort')]);"