Welche Datanbank Änderungen nach dem Upgrade von 5.3 auf 5.4

  • Affected Version
    WoltLab Suite 5.4

    Moin moin,


    gibt es irgendwo nachzulesen (Github?), welche Datenbank Tabellen beim Upgrade von 5.3 auf 5.4 erstellt/modifiziert werden?


    Bisher habe ich folgende Tabellen gefunden, die beim Upgrade von 5.3 auf 5.4 erzeugt werden:

    1. wcf1_email_log_entry
    2. wcf1_flood_control
    3. wcf1_user_multifactor
    4. wcf1_user_multifactor_backup
    5. wcf1_user_multifactor_email
    6. wcf1_user_multifactor_totp
    7. wcf1_unfurl_url_image
    8. wcf1_unfurl_url


    Werden vorhandene Tabellen noch modifiziert oder nur diese 8 Tabellen erstellt?


    Grund ist, dass ein Upgrade durchgelaufen ist und danach einen Haufen Fehler verursacht hat (Ursache?) und nach einem erneuten Upgrade Versuch, kommen natürlich solche Meldungen wie:

    Quote

    Message: Das Datenbanklayout konnte aufgrund folgender Fehler nicht aktualisiert werden: Die unbekannte Tabelle wcf1_email_log_entry kann nicht verändert werden.


    Usw. Usw.


    Diese Fehler wegbekommen ist recht einfach, wenn man die Tabellen händisch wieder entfernt.

    Doch bevor ich ein erneutes Upgrade starte, würde ich gerne wissen, ob bereits vorhandene Tabellen ebenfalls modifiziert werden.



    Ein Backup wäre auch möglich, würde allerdings nur machen, wenn es notwendig ist und tatsächlich nicht anders möglich ist, da das Datenbank Backup jetzt schon 3 Tage alt ist.

    (Nicht die Welt, aber ich bin kein Teiletauscher, sondern gehe Probleme direkt an, um zu lernen. ^^ )

    • Official Post

    Hallo,


    es werden Tabellen modifiziert und auch die genannte Liste der neu erstellten Tabellen ist unvollständig. Auch können Plugins potentiell Änderungen an der Datenbank vornehmen.


    Da unklar ist, in welchem Zustand sich deine Instanz genau befindet, ist die einzig sichere Lösung, das Wiederherstellen einer funktionsfähigen Datensicherung (bestehend aus Datenbank und Dateisystem). Stelle dabei sicher, dass die Sicherung jeweils in einen „leeren Stand“ eingespielt wird, damit keine Dateien bzw. Daten existieren, die zum Zeitpunkt der Sicherung nicht existiert haben.

  • Hallo Tim,


    und auch die genannte Liste der neu erstellten Tabellen ist unvollständig

    Ich konnte nur anhand meines Backups (5.3) vergleichen, und von 5.3 auf 5.4 waren lediglich 8 weitere Tabellen hinzugefügt worden.


    Da unklar ist, in welchem Zustand sich deine Instanz genau befindet, ist die einzig sichere Lösung, das Wiederherstellen einer funktionsfähigen Datensicherung (bestehend aus Datenbank und Dateisystem).

    Derzeitig läuft wieder die Version 5.3, allerdings mit der Datenbank, die durch das fehlerhafte 5.4 Upgrade modifiziert wurde.

    Die Daten auf dem FTP-Server wurden alle wiederhergestellt.


    Die oben genannten Tabellen sind leer und konnten ohne Probleme gelöscht werden, da ja durch Version 5.3 kein Bezug mehr dazu besteht.

    Bisher treten auch nirgends Fehler im Betrieb auf.


    Jetzt frage ich mich natürlich, wenn das Setup schon Probleme verursacht, wenn Tabellen bereits existieren und dementsprechend abbricht, ob das Problem auch bei Tabellen auftritt, wenn diese bereits modifiziert wurden.


    Ich verstehe sowieso nicht, warum die bereits vorhandenen Tabellen nicht vom Setup einfach gelöscht und neu erstellt werden können. :/



    Ich könnte es zwar auch einfach ausprobieren, aber es ist echt umständlich, die Backups wieder einzuspielen. :)

    • Official Post

    Hallo,

    Ich konnte nur anhand meines Backups (5.3) vergleichen, und von 5.3 auf 5.4 waren lediglich 8 weitere Tabellen hinzugefügt worden.

    Dann ist entweder bereits das Backup von 5.3 fehlerhaft oder der Vergleich fehlerhaft durchgeführt werden.

    Derzeitig läuft wieder die Version 5.3, allerdings mit der Datenbank, die durch das fehlerhafte 5.4 Upgrade modifiziert wurde.

    Die Daten auf dem FTP-Server wurden alle wiederhergestellt.

    Der Zustand der Instanz ist jetzt in jedem Fall defekt und ich empfehle dringend eine funktionierende und konsistente Datensicherung von Datenbank und Dateisystem einzuspielen.

  • Der Zustand der Instanz ist jetzt in jedem Fall defekt und ich empfehle dringend eine funktionierende und konsistente Datensicherung von Datenbank und Dateisystem einzuspielen.

    Kann ich praktischerweise alle bis dahin verfassen Beiträge/Themen/Neue User (von wbb1_thread, wbb1_post, wcf1_user) exportieren und im Backup problemlos importieren?

    Die Strukturen der 3 Tabellen sind identisch.

    • Official Post

    Hallo,


    falls mit „Exportieren“ und „Importieren“ ein Import auf SQL-Ebene gemeint ist, dann: Nein, das geht nicht. Erstellte Inhalte werden an diversen Stellen verknüpft und ein manuelles Einfügen von Datensätzen berücksichtigt dies nicht.


    Manuelle Änderungen an der Datenbank sind von uns grundsätzlich nicht unterstützt. Einzige Ausnahme sind Datenbankabfragen, die direkt von uns individuell für das eigene Problem zugeschnitten entwickelt wurden (bspw. zur Vorabkorrektur eines Fehlers) – und dann auch nur, nachdem eine frische Datensicherung angefertigt wurde.

  • falls mit „Exportieren“ und „Importieren“ ein Import auf SQL-Ebene gemeint ist, dann: Nein, das geht nicht. Erstellte Inhalte werden an diversen Stellen verknüpft und ein manuelles Einfügen von Datensätzen berücksichtigt dies nicht.

    Ja, das war der Plan, sofern es keine andere Möglichkeiten zum migrieren gibt.

    Gibt es denn eine Alternative?


    Manuelle Änderungen an der Datenbank sind von uns grundsätzlich nicht unterstützt. Einzige Ausnahme sind Datenbankabfragen, die direkt von uns individuell für das eigene Problem zugeschnitten entwickelt wurden (bspw. zur Vorabkorrektur eines Fehlers) – und dann auch nur, nachdem eine frische Datensicherung angefertigt wurde.

    Kann ich absolut nachvollziehen, da es nicht viele Klicks zum zermetzeln der Datenbank benötigt. ^^

    • Official Post

    Hallo,

    Gibt es denn eine Alternative?

    die einzige Alternative wäre die Durchführung eines Datenimports. Dieser kann aber praktisch nur in eine komplett neue Installation erfolgen und wäre perspektivisch mit einem noch größeren Datenverlust verbunden.


    Ich würde an dieser Stelle empfehlen, den Datenverlust der 3 Tage in Kauf zu nehmen und zukünftig die Datensicherungen automatisch mindestens täglich und zusätzlich manuell vor jeder größeren Änderung anzufertigen. Dazu gehört auch, die Sicherungen regelmäßig auf Funktion zu überprüfen (oder zumindest zu prüfen, ob der Cronjob noch geht).

  • die einzige Alternative wäre die Durchführung eines Datenimports. Dieser kann aber praktisch nur in eine komplett neue Installation erfolgen und wäre perspektivisch mit einem noch größeren Datenverlust verbunden.

    Dann lieber nicht. 8)


    Ich würde an dieser Stelle empfehlen, den Datenverlust der 3 Tage in Kauf zu nehmen und zukünftig die Datensicherungen automatisch mindestens täglich und zusätzlich manuell vor jeder größeren Änderung anzufertigen. Dazu gehört auch, die Sicherungen regelmäßig auf Funktion zu überprüfen (oder zumindest zu prüfen, ob der Cronjob noch geht).

    Es werden bereits täglich automatisierte Backups vom Hoster gemacht, die man manuell wieder einspielen muss.

    (Das Feature eines 1-Klick Backups gibt's leider nicht. ;()


    Das Upgrade ging am Wochenende schief und seitdem läuft es wie bisher mit der durch das fehlerhafte Upgrade modifizierten Datenbank, daher die 3 Tage. :)

    Aber gut, ich werde dann lieber das Backup wiederherstellen, ist besser als zukünftige Überraschungen/Fehler zu erleben.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!