Rückwege: Code, Schema, vollständige Sicherung, Wiederherstellungswerkzeug und Datenlöschung
Bedingungen der Code- und Schema-Rücksetzung, Ablauf der vollständigen Wiederherstellung, manuelle Sicherung, Wiederherstellungsschlüssel und Web-Wiederherstellung sowie die Schutzmechanismen der vollständigen Datenlöschung.
Der Update-Manager bietet vier Rückwege: Code-Rücksetzung, Schema-Rücksetzung, vollständige Wiederherstellung aus einer Sicherung und das unabhängige Wiederherstellungswerkzeug. Jeder läuft in der Update-Dienstbibliothek mit eigenem Funktionsschlüssel.
Rückwege
| Weg | Endpunkt | Verhalten und Bedingung |
|---|---|---|
| Code | update.rollback | Tauscht den Codebaum vor dem letzten abgeschlossenen Update aus previous/ zurück; Datenbank unverändert, installierte Version geht zurück. Bedingung: code_rollback_allowed = 1, alter Baum vorhanden, kein aktiver Lauf. Bei nicht additivem Schema: „Use the full restore instead“. |
| Schema | update.schemarollback | Macht die Migrationen des Updates rückgängig (revertVersioned), wenn alle umkehrbar sind; nur nach der Code-Rücksetzung, sonst Fehler. |
| Vollständig | update.restore | Nur verified-Sicherungen; Wartungsmodus für 1 Stunde, Wiederherstellungswerkzeug installiert, Dump und Code-Zip bereitgestellt (bei entferntem Ziel heruntergeladen), die Wiederherstellungs-Engine lädt Datenbank und Code zurück; offene Läufe geschlossen, Version auf die der Sicherung, Protokoll, Benachrichtigung. Das Bestätigungsfeld muss genau „RESTORE“ + Version enthalten. |
| Manuelle Sicherung | update.backup | Lauf mit action = backup: Sicherungsphase des Updates mit derselben Prüfung und Aufbewahrung, ohne Aktivierung done. Bedingung: kein anderer aktiver Lauf, Sicherungsziel vorhanden. |
Wiederherstellungswerkzeug
update.recoverykey: neuer Schlüssel, einmal zurückgegeben; auf dem Datenträger bleibt nur der Passwort-Hash im Update-Speicherordner, der für Webzugriff gesperrt ist; das Werkzeug wird installiert.update.recoveryenable: Webnutzung des unabhängigen Werkzeugs für 1 Stunde, mit warnender Protokollzeile.
Vollständige Datenlöschung
update.purge: löscht alle Daten des Moduls. Nur isSuper(); exakter Bestätigungstext und eine verified-Sicherung der letzten 7 Tage nötig, sonst Fehler (error_purge_confirm, error_purge_backup).
Verwendete Daten
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
update_run, update_backup, update_log, migration; bei vollständiger Wiederherstellung die ganze Datenbank im Umfang des Dumps. Sicherungsziel: lokaler Speicher oder das Google-Konto der Installation.
Berechtigungen
Funktionsschlüssel (alle SYSTEM): rollback, restore, backup, recovery. Die vollständige Löschung gehört nur dem Hauptadministrator. Kein Inhaltsbereich.
Bekannte Einschränkungen
Die Rückwege sind mit lokalem Transport getestet; auf einem produktiven zentralen Server und mit echtem Drive-Archiv liefen sie noch nicht. Nach der Sicherung entstandene Daten gehen bei vollständiger Wiederherstellung verloren.