Avatar

Update from 2.4.24 to 20220803.1 failed (Bugs)

by Auge ⌂, Monday, January 02, 2023, 11:41 (490 days ago) @ Tobi

Hallo,

entschuldige die späte Antwort, zwischen den Jahren habe ich deine Anfrage gesehen, aber keine Ruhe gefunden, darauf zu antworten.

Habe das selbe Problem beim versuchten Update gehabt (von Version 2.4.0).

Hast du das Upgrade direkt von Version 2.4.0 auf 2.5.x durchführen können oder erst den Zwischenschritt auf eine aktuelle 2.4.x (x = 19.1 oder neuer) gemacht? Direkt dürfte das überhaupt nicht funktioneren, womit sich meine Frage von selbst beantworten sollte, aber man weiß ja nicht, ob sich doch ein Fehler eingeschlichen hat.

Wenn ich jetzt versuche zu aktualisieren erscheint folgende Meldung:

Database error in line 298: Table 'mlf2_akismet_rating' already exists
Database error in line 301: Table 'mlf2_b8_rating' already exists
Database error in line 304: Table 'mlf2_b8_wordlist' already exists
Database error in line 307: Table 'mlf2_uploads' already exists
Database error in line 312: Duplicate entry 'uploads_per_page' for key 'PRIMARY'
Database error in line 327: Duplicate entry 'b8*dbversion' for key 'PRIMARY'
Database error in line 330: Unknown column 'spam' in 'field list'
Database error in line 333: Unknown column 'spam' in 'field list'
Database error in line 339: Can't DROP 'spam'; check that column/key exists

O.k. die Fehler erklären sich mit einer vorherigen Installation einer 2.5-er Version oder einer Testversion 2.4.99.x. Wenn von dort aus ein Downgrade zu einer stabilen 2.4.x-Version erfolgt und die Tabellen für 2.5-er Versionen (die in den ersten vier Meldungen genannten Tabellen) nicht aus der Datenbank gelöscht werden, führt der erneute Versuch sie anzulegen, zu diesen Fehlern. Zudem scheint auch deine Tabelle für die Forumseinträge schon auf dem 2.5-er Stand gewesen zu sein, denn sonst müsste es die Spalte spam (aus den Meldungen sieben bis neun) noch geben.

Und jetzt, während ich das schreibe, stelle ich mir die Frage, ob bei einem ersten Upgrade-Versuch eventuell gemeldet worden sein könnte, dass es eine doppelt benutzte E-Mail-Adresse gibt? Durch die reihenfolge der Datenbankänderungen verbleibt das Forum so in einem unbenutzbaren halb2.4-und-halb-2.5-Status ...

Wenn man das Forum aufruft, funktioniert es nicht mehr: https://www.topfree.de/forum/ ("Unknown column 'spam' in 'where clause'").

... was dann derartige Fehler zur Folge hat.

Allerdings läuft die neueste Version 20220803.1 > https://www.topfree.de/forum2/ auf meinem Sever.

Ja, eine Neuinstallation funktioniert. Bisher gab es dazu jedenfalls keine Fehlermeldungen.

Hilft jetzt nur ein Backup (und dann?)? Oder kann man die Beiträge und Benutzer in die neue Version irgendwie importieren?

Ein Backup der Inhalte der Tabellen (nicht von deren Struktur), die es schon im 2.4-er Zweig gab, ist per se sinnvoll. Damit ließe sich mit etwas Handarbeit [1] ein Forum mit einer stabilen 2.4.x-Version rekonstruieren und wieder in Betrieb nehmen.

Das nur teilweise vollzogene Upgrade sorgt allerdings dafür, dass ein Forum als leer angezeigt wird, obwohl es jede Menge Einträge haben kann, weil relevante Änderungen bezüglich der Spambehandlung nicht erfolgt sein können. Ein händisches Upgrade ist mit Hilfe der Abfragen aus dem Update-Skript prinzipiell möglich, sie können ja schließlich auch mit phpMyAdmin ausgeführt werden, wenn die Tabellennamen eingesetzt wurden. Aber das sollte man nur tun, wenn man sich im Code des Update-Skripts auskennt, in phpMyAdmin die bereits erfolgten Änderungen herauslesen kann und damit enrtscheiden kann, welche Datenbankabfragen noch fehlen.

Ein Upgrade auf Version 2.5.x (a.k.a. 20220-irgendwas.1) ist ohne diese Kenntnisse, so muss ich das mittlerweile sagen, vorläufig nicht zu empfehlen. Ich arbeite aber an einem neuen Upgrade-Skript mit einer korrigierten Reihenfolge der Änderungsschritte. Damit wird eine notwendige Überprüfung von möglichen Stolperfallen an den Anfag eines Upgrades gerückt, womit bei einer notwendigen Vorarbeit das Upgrade erst gar nicht beginnt. Aber das ist leider noch nicht fertig.

Tschö, Auge

[1]: In deinem Backup fehlen ja nun die Werte zum Spamstatus der Einträge und eventuell doppelt benutzte E-Mail-Adressen wären nach wie vor vorhanden.

--
Trenne niemals Müll, denn er hat nur eine Silbe!


Complete thread:

 RSS Feed of thread