Avatar

@Milo: Frage zum Installations- und Updateprozess (General)

by Auge ⌂, Wednesday, March 01, 2017, 09:26 (2606 days ago)

Hallo Milo

Kannst du bitte mal nachschauen, ob deine Settings-Tabelle den PK auf der Spalte name hat und vom Typ InnoDB ist? Ich habe hier nämlich gerade in einer meiner Testinstallationen in phpMyAdmin gesehen, dass die Tabelle dort weder den PK hat noch vom Typ InnoDB ist. Ich muss nun herausbekommen, ob das nur an der Installationsroutine liegt (siehe issue #179) oder auch(?) an der Updateroutine.

Tschö, Auge

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

Avatar

@Milo: Frage zum Installations- und Updateprozess

by Micha ⌂, Wednesday, March 01, 2017, 10:40 (2606 days ago) @ Auge

Hallo Milo

Kannst du bitte mal nachschauen, ob deine Settings-Tabelle den PK auf der Spalte name hat und vom Typ InnoDB ist?

Ich habe die Tabelle mal exportiert und erhalte folgenden Ausdruck:

CREATE TABLE `mlf2_settings` (
  `name` VARCHAR(255) NOT NULL,
  `value` VARCHAR(255) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
ALTER TABLE `mlf2_settings` ADD PRIMARY KEY (`name`);
 

Sieht also gut aus.

Viele Grüße
Micha

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

Avatar

@Milo: Frage zum Installations- und Updateprozess

by Auge ⌂, Wednesday, March 01, 2017, 11:09 (2606 days ago) @ Micha

Hallo Milo

Ich habe die Tabelle mal exportiert und erhalte folgenden Ausdruck:

CREATE TABLE `mlf2_settings` (
`name` VARCHAR(255) NOT NULL,
`value` VARCHAR(255) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
ALTER TABLE `mlf2_settings` ADD PRIMARY KEY (`name`);
 

Sieht also gut aus.

Ich danke dir. Damit ist endgültig klar, dass der Unterschied im Installationsskript besteht. Ich hatte mir das (nach einigem Nachdenken) schon gedacht, weil ich diese Installation mit einer 2.3.99.1 zum Test der Aktuell-Verfügbare-Version-Funktion erstellt habe. Auf meinem eigenen Webspace funktioniert das ja nicht.

Was mich immer wieder etwas verwirrt, ist das von phpMyAdmin erzeugte ALTER TABLE-Statement. Es kommt mir so vor, als ginge phpMyAdmin in verschiedenen Versionen jeweils andere Wege. Früher™ war die Vergabe des PK oder von Indizes direkt Bestandteil des CREATE-Statements. <kopfschüttel />

Tschö, Auge

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

Avatar

@Milo: Frage zum Installations- und Updateprozess

by Micha ⌂, Wednesday, March 01, 2017, 11:36 (2606 days ago) @ Auge

Hi Auge,

Ich danke dir.

Kein Problem. Was ich mich die ganze Zeit frage ist, wie überhaupt doppelte Einträge in die Tabelle kommen konnten. Die Einführung eines PK ist ja nur der Knebel, dass dies zukünftig nicht mehr passieren soll aber die Ursache bleibt ja unklar. Wenn also ein frisch installiertes Forum 2.4.x kein PK-Schlüssel besitzt, sollte dies mMn. eigentlich zu keinem Problem führen, wenn nicht irgendwo etwas anderes noch schief läuft.

Das hier beschriebene Verhalten finde ich schon interessant. Das Update funktioniert bis zur Version 2.3.5, dann gibts Probleme. Der Anwender macht die Änderungen auf Dateibasis rückgängig nicht aber die Änderungen in der DB. Sprich: Die DB läuft in Version 2.3.5 aber die Dateien noch in Version 2.3.1!? Wenn es jetzt in der Setting-Tabelle einen doppelten Eintrag gibt, dann wäre dieser doch nach wie vor vorhanden. Warum kann er jetzt aber das Forum wieder aktivieren? Auf den letzten Absatz hier musst Du nicht reagieren, ich sehe ja, was Du dem Anwender im anderen Zweig schreibst und ziehe dann meine Rückschlüsse.

Viele Grüße
Micha

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

Avatar

@Milo: Frage zum Installations- und Updateprozess

by Auge ⌂, Wednesday, March 01, 2017, 11:59 (2606 days ago) @ Micha
edited by Auge, Wednesday, March 01, 2017, 12:06

Hallo Milo

Was ich mich die ganze Zeit frage ist, wie überhaupt doppelte Einträge in die Tabelle kommen konnten. Die Einführung eines PK ist ja nur der Knebel, dass dies zukünftig nicht mehr passieren soll aber die Ursache bleibt ja unklar. Wenn also ein frisch installiertes Forum 2.4.x kein PK-Schlüssel besitzt, sollte dies mMn. eigentlich zu keinem Problem führen, wenn nicht irgendwo etwas anderes noch schief läuft.

Schief läuft es ohne PK dann, wenn es eine Neuinstallation gibt und dann die Daten aus der alten DB importiert werden. Dann gibt es ohne PK eben zwei Sätze der EInstellungen. Der erste Satz ist der bei der Installation angelegte und der zweite ist der aus der alten DB importierte.

Das hier beschriebene Verhalten finde ich schon interessant. Das Update funktioniert bis zur Version 2.3.5, dann gibts Probleme. Der Anwender macht die Änderungen auf Dateibasis rückgängig nicht aber die Änderungen in der DB. Sprich: Die DB läuft in Version 2.3.5 aber die Dateien noch in Version 2.3.1!?

Ja, klar. Solange in einer folgenden Version nicht Spalten oder Tabellen abgeschafft oder in ihrer Funktion verändert werden, liegen einfach nur eventuell später hinzugefügte Spalten und Tabellen brach.

Wenn es jetzt in der Setting-Tabelle einen doppelten Eintrag gibt, dann wäre dieser doch nach wie vor vorhanden.

Wenn eine Einstellung gelesen wird, wird in einer Doppelung der zweite Datensatz den ersten überschreiben. Der zuletzt aus der Tabelle gelesene Datensatz repräsentiert die Einstellung.

Warum kann er jetzt aber das Forum wieder aktivieren?

Genau das kann er offensichtlich nicht.

Frühere Fälle, bei denen nachgewiesenermaßen mehrere Sets an Einstellungen vorhanden waren, lassen mich folgendes vermuten. Im Formular im Admin-Bereich werden, wie oben geschrieben, die zuletzt aus der Datenbanktabelle gelesenen Werte angezeigt, weil diese eben vorher gelesene Werte innerhalb der Abfrage überschreiben. Wenn die geänderten Einstellungen nach dem Absenden des Formulars in der DB gespeichert werden, wird der jeweils erste Datensatz mit dem entsprechenden Namen einer Einstellung überschrieben, folgende Datensätze (somit auch der zuletzt ausgelesene im Formular und im Array $settings tatsächlich benutzte Datensatz) mit dem selben Namen bleiben unangetastet.

So zumindest mein Schluss aus dem von mehreren Benutzern beschriebenen Verhalten.

Edit:

Soweit die Infos im von dir verlinkten Thread hergeben, ist das Szenario dort ein anderes. Zwar habe ich auch dort die Vermutung geäußert, dass es doppelte Einstellungen geben kann, aber die gezeigte Ausgabe der Abfrage der Einstellung forum_enabled sieht nicht danach aus.

Allgemein stellen sich mir in dem Thread gleich zwei Fragen.

1. Warum lässt sich das Forum nicht aktivieren und warum ist das noch keinem anderen Admin passiert? Die Version 2.3.5 ist schließlich fast ein dreiviertel Jahr alt.
2. Was kann von Seiten der Foumssoftware ausgelöst haben, dass Benutzer mit macOS und/oder iOS nicht mehr posten können? Eigentlich sollte es nichts geben, was das Posten verhindert.

Tschö, Auge

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

Avatar

@Milo: Frage zum Installations- und Updateprozess

by Micha ⌂, Friday, March 03, 2017, 12:51 (2604 days ago) @ Auge

Hi,

1. Warum lässt sich das Forum nicht aktivieren und warum ist das noch keinem anderen Admin passiert? Die Version 2.3.5 ist schließlich fast ein dreiviertel Jahr alt.

Ich lese es immer noch so, dass er nach dem Rücksetzen der Dateien das Forum wieder zum Laufen bekommen hat - was vorher nicht ging. Ich entnehme seiner Schilderung nicht, dass es gegenwärtig nicht aktiv wäre. Das allein macht mich schon stutzig...

Ich persönlich kann zum aktivieren/deaktivieren nichts sagen, weil ich es bisher noch nie benutzt habe. Das Update dauerte bisher immer weniger als 5 Minuten, sodass ich das im laufenden Betrieb einfach durchgeführt habe. Mein Forum wird ja nicht täglich mit Anfragen überrannt, sodass es zu (größeren) Konflikten kommen könnte.

2. Was kann von Seiten der Foumssoftware ausgelöst haben, dass Benutzer mit macOS und/oder iOS nicht mehr posten können? Eigentlich sollte es nichts geben, was das Posten verhindert.

Genau. Am JavaScript wurde (bis auf Deine Anregungen) keine Änderungen vorgenommen. Daher tippe ich ein wenig auf das Caching Verhalten des Browsers bzw. des template_c Ordners. Alles andere macht für mich gegenwärtig keinen Sinn, da Änderungen am PHP ja unmöglich den Browser treffen können.

Viele Grüße
Micha

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

RSS Feed of thread