Frage zum Update einer älteren Version

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Frage zum Update einer älteren Version

Post by Uwe367 »

Ich wollte nun mal die Updatevariante mittels Setup ausprobieren, aber da taucht bei mir eine Frage auf.
Welches SQL Update muß ich eigentlich aus dem Dropdownmenü auswählen?
Image

Das scheint ja alles sehr veraltet zu sein und auch nicht mehr brauchbar wenn ich, wie in meinem jetzigen Fall, eine 1.9.0-rc.2 (2018/04/02, r549 auf den neuesten Stand bringen möchte oder irre ich da? Für mich sieht das so aus als wäre das neueste, was dort wählbar ist, ein Update von der phpwcms Version 1.4 auf 1.5 zu sein und somit für neuere Versionen (neuer als 1.5.x) nicht mehr zu gebrauchen.
Kann es sein daß ab dann (1.5) die Updateautomatik für das DB Update greift und ich eigentlich nur das BE aufrufen muß und das Update läuft von selbst?
Was muß ich denn in diesem Bereich des Setups überhaupt machen? Sieht ja fast so aus als müßte da nichts gemacht werden oder?

Ich bin zum testen so vorgegangen daß ich die komplette Installation mit der neuesten überspielt habe (natürlich vorher alle relevanten Dateien gesichert), im Anschluß das Verzeichnis content/tmp geleert und dann das Setup mit der Option des Updates gestartet. Aber wie nun weiter?
Der Neugierde halber habe ich mich, weil ja augenscheinlich keine Option angeboten wird um ein DB Update auszuführen, einfach im BE eingloggt und siehe da, es läuft alles bestens und auch neue Funktionen, wie z.B. das Erstellen eines Untervezeichnisses bei der Dateiübernahme, werden ohne zu meckern ausgeführt.

Wäre wirklich schön hier mal ein paar aufschlußreiche Zeilen zu lesen.

Schöne Pfingsten euch :)

P.s.
Was nun aber komisch ist, ist daß ich Notice Meldungen wie diese im Frontend bekomme:

Code: Select all

Notice: Undefined index: article_meta in D:\xampp\htdocs\uwe367\include\inc_front\front.func.inc.php on line 633
Notice: Undefined index: article_meta in D:\xampp\htdocs\uwe367\include\inc_front\content.article.inc.php on line 86
Notice: Undefined index: article_meta in D:\xampp\htdocs\uwe367\include\inc_front\content.article.inc.php on line 89
Und wenn ich einen Artikel bzw. CP editieren möchte:

Code: Select all

Notice: Undefined index: article_meta in D:\xampp\htdocs\uwe367\include\inc_lib\article.editcontent.inc.php on line 123
Bei einer Neuinstallation kommen diese Meldungen nicht. Vielleicht ein Fehler beim Update?
Auch das Neuanlegen eines Artikels ist nach dem Update nicht mehr möglich. Struturebenen und Contentparts hingegen kann ich anlegen und diese werden auch gespeichert.

PHP Version ist 7.4.15
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Update einer älteren Version

Post by Oliver Georgi »

Also alle Versionen > r400 benötigen keinen Aufruf der Upgrade-Funktionalität mehr, wenn die neueren Dateien installiert worden sind.

Dann ist das richtige Vorgehen, den content/tmp von allen *.tmp files zu befreien und einmal den Backend-Login aufzurufen. Prinzipiell sollten dann alle notwendigen Datenbankanpassungen automatisch durchlaufen. Falls es doch Probleme gibt, noch mal content/tmp leeren und erneut Backend-Login öffnen.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Frage zum Update einer älteren Version

Post by Uwe367 »

Danke für die Antwort Oliver.
Jedoch scheint da irgend etwas nicht zu stimmen. In der alten Installation liegen im Verzeichnis tmp Dateien von r401.chekcked.tmp bis r549.checked.tmp.
Nach dem hochladen der neuen Dateien, dem anschließenden leeren des Verzeichnisses und dem Aufruf des BE Logins befinden sich darin aber nur Dateien von r401.checked.tmp bis r533.checked.tmp.
Ist das so richtig? Für mich sieht das so aus als würde der Updateprozess irgendwo unerwartet stoppen da sich doch dann eigentlich, wie bei einer Neuinstallation, Dateien bis r551.checked.tmp befinden sollten oder irre ich?
Ein erneutes Leeren des Verzeichnisses und Aufruf des BE Logins bringt nicht den gewünschten Erfolg.
Bei einer Neuinstallation gehts dort bis zur r551.checked.tmp.
Sollte das nach einem Update nicht ebenfalls so sein? Das würde dann eventuell auch die Fehler erklären, die in meinem vorherigen Thread beschrieb. Diese treten nämlich bei einer Neuinstallation nicht auf.

Lege ich eine Neuinstallation an und verbinde die alte DB mit dieser (so wie ich es bisher machte), so läuft alles bestens und fehlerfrei. Allerdings wäre der andere Weg wesentlich weniger umständlich.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Update einer älteren Version

Post by Oliver Georgi »

Vermutlich hast Du ein Problem mit der Einstellung der MySQL – müsstet Du mal schauen, ob und welche Datenbankzugriffsfehler es gibt.

Ansonsten sende mir mal die Datenbank.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Frage zum Update einer älteren Version

Post by Uwe367 »

Ich habe die phpwcms_db_error.log aktiviert und da sind einige Fehler zu finden. Vielleicht ist da das Problem zu finden.

Code: Select all

[2021-05-23 20:36:42] Invalid default value for 'article_begin', QUERY: "ALTER TABLE phpwcms_article CHANGE article_menutitle article_menutitle VARCHAR(255) NOT NULL DEFAULT  ''"
[2021-05-23 20:36:42] Invalid default value for 'article_begin', QUERY: "ALTER TABLE phpwcms_article CHANGE article_description article_description VARCHAR(255) NOT NULL DEFAULT  ''"
[2021-05-23 20:36:42] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_text` `acontent_text` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:42] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_html` `acontent_html` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:42] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_media` `acontent_media` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:42] Invalid default value for 'article_begin', QUERY: "ALTER TABLE `phpwcms_article` CHANGE `article_summary` `article_summary` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:42] Invalid default value for 'shopprod_createdate', QUERY: "ALTER TABLE `phpwcms_shop_products` ADD `shopprod_inventory` INT(11) NOT NULL DEFAULT '0'"
[2021-05-23 20:36:42] Invalid default value for 'article_begin', QUERY: "ALTER TABLE `phpwcms_article` ADD `article_meta` MEDIUMTEXT NOT NULL DEFAULT ''"
[2021-05-23 20:36:46] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_text` `acontent_text` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:46] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_html` `acontent_html` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:46] Invalid default value for 'acontent_created', QUERY: "ALTER TABLE `phpwcms_articlecontent` CHANGE `acontent_media` `acontent_media` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:46] Invalid default value for 'article_begin', QUERY: "ALTER TABLE `phpwcms_article` CHANGE `article_summary` `article_summary` MEDIUMTEXT NOT NULL"
[2021-05-23 20:36:46] Invalid default value for 'shopprod_createdate', QUERY: "ALTER TABLE `phpwcms_shop_products` ADD `shopprod_inventory` INT(11) NOT NULL DEFAULT '0'"
[2021-05-23 20:36:46] Invalid default value for 'article_begin', QUERY: "ALTER TABLE `phpwcms_article` ADD `article_meta` MEDIUMTEXT NOT NULL DEFAULT ''"
Diese Fehler traten auf nachdem ich Update machte.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Update einer älteren Version

Post by Oliver Georgi »

Ja, wie ich vermutet habe. Das Thema muss ich mal bei Gelegenheit angehen.

Setze bitte mal in Deiner config.inc.php:

Code: Select all

$phpwcms['db_sql_mode'] = 'NO_ENGINE_SUBSTITUTION';
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Frage zum Update einer älteren Version

Post by Uwe367 »

Oliver Georgi wrote: Mon 24. May 2021, 04:47 Setze bitte mal in Deiner config.inc.php:

Code: Select all

$phpwcms['db_sql_mode'] = 'NO_ENGINE_SUBSTITUTION';
Guten Morgen.
Das war der Fehler. Nach dem ändern (Der gesetzte Wert war "null") lief das Update durch und es funktioniert bisher alles bestens. Auch im Verzeichnis tmp sind nun alle Dateien von r401 bis r551 enthalten und auch die Noticemeldungen aus dem ersten Posting sind verschwunden. Artikel ankegen klappt nun auch wieder.
Danke Dir für den Hinweis :D
Oliver Georgi wrote: Mon 24. May 2021, 04:47 Das Thema muss ich mal bei Gelegenheit angehen.
Wenn Du das angehst hätte ich eine Frage, die auch gleichzeitig eine Bitte ist.
Wenn der Aufwand nicht zu groß ist, wäre es im Zuge eines Updates möglich eventuelle neue Einträge automatisch in die conf.inc.php zu schreiben so daß die bestehende Datei um die neuen Einträge erweitert würde? Oder vielleicht wäre es einfacher die Datei neu schreiben zu lassen und komplett auzutauschen. Ok, Einträge, die verändert wurden (DB Verbindung, SSL usw.) müßten dabei erhalten bleiben. Machbar ist das mit Sicherheit, fragt sich nur ob der Arbeitsaufwand lohnt.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Frage zum Update einer älteren Version

Post by Oliver Georgi »

Normalerweise sollten alle Einträge außer der Datenbankverbindung oder Basispfad in der Datenbank stehen und sollten über das Backend gepflegt werden können.

Mal schauen, was weniger Aufwand ist.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: Frage zum Update einer älteren Version

Post by Uwe367 »

Oliver Georgi wrote: Mon 24. May 2021, 08:42 Normalerweise sollten alle Einträge außer der Datenbankverbindung oder Basispfad in der Datenbank stehen und sollten über das Backend gepflegt werden können.

Mal schauen, was weniger Aufwand ist.
War nur eine Anregung bzw. ein Vorschlag. Ob Du das umsetzt oder ob es Gründe gibt die dagegen sprechen weiß ich nicht und ist letztendlich Dir überlassen. Einfacher für den User wäre es mit Sicherheit denn nicht jeder denkt nach einem Update daran einen Dateiabgleich mit der alten conf.inc.php zu machen.
Die Pflege über das Backend wäre sicher eine feine Sache. Ich könnte mir das im Bereich Seitenlayout vorstellen. Dort werden die seitenweiten Einstellungen vorgenommen und da würde das passen.
Aber es bleibt halt die Frage ob der Aufwand für den Nutzen lohnt.
Post Reply