#!/bin/bash echo "🧠 NeoNail DB - Intelligentes Setup" echo "==================================" # 1. .env erstellen (falls nicht vorhanden) if [ ! -f ".env" ]; then echo "📝 Erstelle .env Datei..." cp env-production-example.txt .env else echo "✅ .env Datei bereits vorhanden" fi # 2. SQLite-Datenbank erstellen if [ ! -f "database.sqlite" ]; then echo "🗄️ Erstelle SQLite-Datenbank..." touch database.sqlite else echo "✅ SQLite-Datenbank bereits vorhanden" fi chmod 664 database.sqlite # 3. Berechtigungen setzen echo "🔐 Setze Berechtigungen..." chmod -R 777 storage/ 2>/dev/null chmod -R 777 bootstrap/cache/ 2>/dev/null chmod 644 .env 2>/dev/null # 4. Storage Link prüfen echo "🔗 Prüfe Storage Link..." if [ ! -L "public/storage" ]; then echo "📎 Erstelle Storage Link..." php artisan storage:link 2>/dev/null || echo "⚠️ Storage Link übersprungen" else echo "✅ Storage Link bereits vorhanden" fi # 5. Cache leeren (nur wenn nötig) echo "🧹 Leere Cache..." php artisan config:clear 2>/dev/null || echo "⚠️ config:clear übersprungen" php artisan cache:clear 2>/dev/null || echo "⚠️ cache:clear übersprungen" # 6. Migrationen ausführen echo "🗃️ Führe Migrationen aus..." php artisan migrate --force 2>/dev/null || echo "⚠️ Migrationen übersprungen" echo "" echo "✅ Intelligentes Setup abgeschlossen!" echo "" echo "📋 Status:" echo "• .env: $(test -f .env && echo '✅' || echo '❌')" echo "• database.sqlite: $(test -f database.sqlite && echo '✅' || echo '❌')" echo "• storage link: $(test -L public/storage && echo '✅' || echo '❌')" echo "• storage/ schreibbar: $(test -w storage && echo '✅' || echo '❌')" echo "" echo "📋 Nächste Schritte:" echo "1. 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')]);" echo "" echo "2. Anwendung testen: http://192.168.30.81"