neonail-database/smart-setup.sh
2025-08-10 18:09:07 +02:00

63 lines
2.0 KiB
Bash
Executable File

#!/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"