63 lines
2.0 KiB
Bash
Executable File
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"
|