Avatar

Version 2.4.12 Buggy (Backup)? (General)

by Martin66 ⌂ @, Tuesday, July 10, 2018, 16:46 (5 days ago)

Hallo,

ich habe gestern ein Update auf Version 2.4.12 durchgeführt und anschließend ein komplettes Backup erstellt. Das scheint aber buggy zu sein:

INSERT INTO acc_userdata VALUES (...

  • Die Daten zu "birthday" gehören in einfache Hochkommata, glaube ich.
  • Die beiden Felder "tou_accepted" und "dps_accepted" werden nicht gesichert.


INSERT INTO acc_entries VALUES (
Da scheint auch die Anzahl der gesicherten Felder nicht mit den vorhandenen übereinzustimmen. Wo da genau der Fehler liegt, habe ich jetzt nicht auch noch gesucht.

Martin

Avatar

Version 2.4.12 Buggy (Backup).

by Auge ⌂ @, Wednesday, July 11, 2018, 07:43 (5 days ago) @ Martin66

Hallo

Danke für die Meldung.

ich habe gestern ein Update auf Version 2.4.12 durchgeführt und anschließend ein komplettes Backup erstellt. Das scheint aber buggy zu sein:

INSERT INTO [b]acc_userdata[/b] VALUES (...
  • Die Daten zu "birthday" gehören in einfache Hochkommata, glaube ich.
  • Die beiden Felder "tou_accepted" und "dps_accepted" werden nicht gesichert.

Ja, die *_accepted-Felder fehlen im Backup. Daran habe ich nicht gedacht, als ich die Felder einbaute. Was das Feld birthday betrifft, muss ich mal in die Doku schauen. Das Feld kann ja auch den Wert NULL enthalten.

INSERT INTO [b]acc_entries[/b] VALUES (

Da scheint auch die Anzahl der gesicherten Felder nicht mit den vorhandenen übereinzustimmen.

Schau ich mir an und zähle es durch.

Tschö, Auge

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

Avatar

Version 2.4.12 Buggy (Backup).

by Martin66 ⌂ @, Wednesday, July 11, 2018, 11:37 (4 days ago) @ Auge

Für Version 2.4.12 wäre dann ein Hotfix toll, so dass man nur eine einzelne Datei austauschen muss oder so.

Für Version 2.5 schlage ich Folgendes vor, falls das mit MYSQL geht: Den gesamten SQL-Code in der Backupdatei in eine Transaktion einbetten, sodass Löschungen zurückgenommen werden, wenn nicht alle Daten aus dem Backup eingelesen werden können.

Martin

Avatar

Version 2.4.12 Buggy (Backup).

by Auge ⌂ @, Wednesday, July 11, 2018, 12:07 (4 days ago) @ Martin66

Für Version 2.4.12 wäre dann ein Hotfix toll, so dass man nur eine einzelne Datei austauschen muss oder so.

Es wird mit an Sicherheit grenzender Wahrscheinlichkeit eine Version 2.4.13 geben.

Für Version 2.5 schlage ich Folgendes vor, falls das mit MYSQL geht: Den gesamten SQL-Code in der Backupdatei in eine Transaktion einbetten, sodass Löschungen zurückgenommen werden, wenn nicht alle Daten aus dem Backup eingelesen werden können.

Da gibt es mehrere Dinge zu beachten und zu klären.

1. Nicht alle Tabellen bestehender Installationen sind von einem der Typen, die Transaktionen unterstützen. Das ließe sich aber im Updateprozess klären.

2. Von welchen Löschungen sprichst du? Beim erstellen eines Backups werden keine Datensätze gelöscht. Beim einspielen eines vorhandenen Backups werden ebenfalls keine Daten gelöscht.

Was ich mir als Problem vorstellen kann, ist der Umstand, dass PHP-Skripte in ihrer Laufzeit beschränkt sind und die Erstellung von Backups und/oder die Wiedereinspielungen von Backups unvollständig sein könnten. Da hilft aber auch keine Transaktion, solange die zugrundeliegende Technik PHP mit seinen Beschränkungen bleibt.

Tschö, Auge

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

Avatar

Version 2.4.12 Buggy (Backup).

by Martin66 ⌂ @, Wednesday, July 11, 2018, 15:07 (4 days ago) @ Auge

Beim einspielen eines vorhandenen Backups werden ebenfalls keine Daten gelöscht.

Das kann ich so nicht bestätigen.

Ich habe meine Echtdaten komplett gesichert und wollte sie anschließend in meiner Testumgebung einspielen. Dabei wurden die Datensätze der fehlerhaft gesicherten Tabellen gelöscht.

Das klingt für mich erst mal logisch. Wahrscheinlich wird jeder einzelne Datensatz jeweils erst gelöscht und mit den neuen Werten überschrieben, gemäß Primärschlüssel. Und wenn der neue Datensatz nicht zur Struktur passt, ist er halt weg.

Martin

Avatar

Version 2.4.12 Buggy (Backup).

by Auge ⌂ @, Thursday, July 12, 2018, 07:12 (4 days ago) @ Martin66

Hallo

Beim einspielen eines vorhandenen Backups werden ebenfalls keine Daten gelöscht.


Das kann ich so nicht bestätigen.

Ich habe meine Echtdaten komplett gesichert und wollte sie anschließend in meiner Testumgebung einspielen. Dabei wurden die Datensätze der fehlerhaft gesicherten Tabellen gelöscht.

Was sind "die Datensätze der fehlerhaft gesicherten Tabellen"?

Datensätze, die schon in den Tabellen waren, bevor ein Backup eingespielt wird, sind natürlich weg. Der jeweils erste Befehl in den Backupdateien leert die Tabellen (Beispiel Einstellungstabelle: TRUNCATE TABLE mlf2_settings;), bevor die Daten des Backups eingespielt werden.

[edit]Diese Aussage widerspricht meiner Aussage im Vorposting, es würden beim zurückspielen eines Backups keine Daten gelöscht. Dort ging es mir aber um die Daten im Backup, nicht um eventuell vorhandene Daten in der Zieldatenbank. Tatsächlich bin ich davon ausgegangen, dass die Zieldatenbank leer ist.[/edit]

Das Backup erzeugt eine Kopie eines zuvor gesicherten Forums. Da haben andere Datensätze, die nicht zum "alten" Forum gehören, nichts zu suchen.

Tschö, Auge

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

Avatar

Version 2.4.12 Buggy (Backup).

by Milo ⌂, Thursday, July 12, 2018, 07:26 (4 days ago) @ Martin66

Hallo,

Für Version 2.5 schlage ich Folgendes vor

... wir sollten meiner Meinung nach überlegen, ob wir dieses Feature nicht besser entfernen sollten. Ich persönlich habe noch nie ein Backup über die Funktion erstellt sondern nutze hierfür PHPmyadmin oder ein anderes Tool, welches mir die gesamte DB und Tabellenstruktur sicher anzeigt und konservieren lässt.

/Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

RSS Feed of thread
powered by my little forum