diff --git a/scripts/update.sh b/scripts/update.sh index 982e42e..5b159b6 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -277,12 +277,20 @@ fi # ════════════════════════════════════════════════════════════════════════════ # SCHRITT 7: Migrationen explizit ausführen # ════════════════════════════════════════════════════════════════════════════ -step "7/8 Datenbank-Migrationen" +step "7/8 Autoloader + Datenbank-Migrationen" + +# Autoloader neu generieren: vendor/ liegt im Image (nicht gemountet), +# neue Klassen in src/ wären sonst nach einem Pull ohne Rebuild unbekannt. +info "Generiere Composer-Autoloader neu..." +AUTOLOAD_OUTPUT=$(docker compose exec -T web composer dump-autoload --optimize --no-interaction 2>&1) || { + warn "composer dump-autoload fehlgeschlagen – Autoloader möglicherweise veraltet" + echo "$AUTOLOAD_OUTPUT" | while read -r line; do info "$line"; done +} +ok "Autoloader aktualisiert" # Der Entrypoint führt Migrationen bereits aus, aber wir führen sie # nochmals explizit aus um sicherzustellen, dass alle eingespielt sind # und um den Status im Log zu sehen. - info "Führe Migrationen aus (idempotent)..." MIGRATE_OUTPUT=$(docker compose exec -T web php /var/www/html/scripts/migrate.php 2>&1) || { fail "Migrationen fehlgeschlagen"