System-Update im Betrieb
Überblick
Ein Update tauscht den Code und fährt danach eine feste Schrittfolge. Sie ist bei jedem Weg dieselbe — ob das Update über die Konsole, über die Oberfläche oder über einen Deploy-Lauf angestoßen wird. Ein Update ist damit kein Sonderfall, sondern immer derselbe Vorgang.
Vor den Schritten wird die Datenbank gesichert. Fehlt das Sicherungswerkzeug auf dem Server, gibt es eine Warnung statt eines Abbruchs — ein Update, das an einem fehlenden Hilfsprogramm scheitert, hilft niemandem.
Die Schritte
- Anwendungscache leeren
- Migrationen fahren
- Rechte und Rollen synchronisieren
- Standard-Daten nachziehen (bestehende Anpassungen bleiben erhalten)
- Plugin-Eigentum nachtragen
- Oberfläche neu bauen, falls nötig
- Cache vorwärmen
- Werkzeug-Katalog für den KI-Zugang neu erzeugen
- Hintergrund-Prozesse beenden, damit sie mit dem neuen Code neu starten
Alle Schritte sind idempotent. Die Wiederherstellung nach einem Fehlschlag ist deshalb: erneut ausführen.
Vorher prüfen
Ein Prüflauf sagt, ob überhaupt ein Update vorliegt, ohne etwas zu ändern. Er eignet sich für einen Zeitplan: ein Rückgabewert je Lage — aktuell, Update verfügbar, Fehler.
Was ein Update nicht anfasst
- Ihre Anpassungen an Standard-Daten. Was in dieser Instanz geändert wurde, bleibt.
- Ihre Hilfe-Texte. Überschriebene Hilfe-Seiten überleben jedes Update; die Rückkehr zum
Auslieferungsstand ist ein bewusster Schritt.
- Ihre Belege. Festgeschriebene Belege sind unveränderlich, auch über Versionen hinweg.
Zurück auf den vorigen Stand
Nach einem Selbst-Update (Konsole oder Oberfläche) hält das System den vorigen Code-Stand vor. Zurückholen lässt er sich auf drei gleichwertigen Wegen: in den Einstellungen unter System-Update → Auf den vorherigen Stand zurück (mit Rückfrage), über die API (POST /api/v1/system/update/rollback, Recht platform.system.update, Fortschritt über /api/v1/system/update/jobs/{jobId}) oder auf der Konsole mit app:update --rollback. Alle drei nehmen denselben Weg, und jeder Rollback steht mit Auslöser, Ausgangs- und Zielstand im Audit-Protokoll. Getauscht wird nur der Code — das Datenbank-Schema bleibt. Umbenannte Rechte dreht der Rückweg selbst zurück: vor dem Code-Tausch bringt er die Rechte-Namen auf den alten Stand, danach gleicht der zurückgeholte Stand sie mit dem ab, was er kennt, baut den Suchindex neu auf und lässt die Hintergrund-Worker im zurückgeholten Stand neu starten. Scheitert das Zurückdrehen, bricht der Rückweg ab, bevor Code getauscht wird — die Installation bleibt, wie sie war, und der vorige Stand steht für einen zweiten Versuch bereit.
Häufige Fehlerbilder
Das Update bricht bei den Migrationen ab. Prüfen Sie die Meldung und den Datenbank-Nutzer; nach der Behebung erneut ausführen.
Nach dem Update laufen alte Hintergrund-Prozesse weiter. Sie werden am Ende des Updates beendet und starten von selbst neu. Bleibt etwas hängen, hilft ein Neustart des Dienstes.
Die Oberfläche zeigt alte Inhalte. Ein Neuladen ohne Zwischenspeicher genügt in der Regel.