Seite 1 von 2

Update Beta 1 --> Beta 2

Verfasst: 20. Nov 2016, 19:21
von Offe
Hallo zusammen,

ich wollte gerade meine Umgebung von Beta 1 auf Beta 2 updaten und habe einige Auffälligkeiten / Fehler beobachtet.

- Nach dem Hochalden der neuen Files wird kein Update der Datenbank angeboten, da in der constants.php immernoch die Version Beta 1 eingetragen ist.

- Nachdem ich den Eintrag auf Beta 2 geändert habe, erkennt das System auch das nötige Datenbankupgrade. Mich wundert nur, dass auch im PHP-Log eine entsprechende Warnung davon erscheint. Ist das so gewollt?
mod_fcgid: stderr: Admidio.ERROR: AdmException is thrown! {"message":"SYS_DATABASE_VERSION_INVALID","params":["3.2.0-Beta.1","3.2.0 Beta 2","<a href=\\"https://localhost/adm_program/installat ... \\">","</a>"]} {"file":"/var/www/html/adm_program/system/classes/admexception.php","line":56,"class":"AdmException","function":"__construct"}
- Wenn ich nun aber das Update starte, wird ein Fehler geworfen, sodass das Update schief geht:
Fatal error: Call to a member function fetch() on a non-object in /var/www/html/adm_program/system/classes/user.php on line 401, referer: https://localhost/adm_program/installation/update.php
- Bitte auch die Spielumgebung auf Beta 2 aktualisieren

Gruß Offe

Re: Update Beta 1 --> Beta 2

Verfasst: 21. Nov 2016, 16:45
von XimeX
Das ist ein Fehler des es noch Beta 1 ist.
Der Error log ist gewollt. Wobei das logging level "error" vermutlich zu hoch ist das auch viele Dinge eine Exception werfen die ganz normal sind. Werd das logging level auf "notice" runter stellen.

Den 2 Fehler muss ich mir noch genauer anschauen

Re: Update Beta 1 --> Beta 2

Verfasst: 25. Nov 2016, 00:29
von Giovanni9030
Auch bei mir dieser Fehler bei Update von Beta1 auf Beta2 mittels update.php.

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /home/.sites/210/site1823/web/admidio/adm_program/system/classes/user.php:401 Stack trace: #0 /home/.sites/210/site1823/web/admidio/adm_program/installation/update.php(331): User->checkLogin('Mein Passwort', false, false, false, true) #1 {main} thrown in /home/.sites/210/site1823/web/admidio/adm_program/system/classes/user.php on line 401

LG Hans

Re: Update Beta 1 --> Beta 2

Verfasst: 25. Nov 2016, 23:08
von XimeX
Könnt ihr auch die logs posten? (Debug mode einschalten!) Sieht nach einem SQL Fehler aus.

Re: Update Beta 1 --> Beta 2

Verfasst: 26. Nov 2016, 21:50
von Giovanni9030
Hallo Ximex,

Code: Alles auswählen

S Q L - E R R O R
CODE: 42S22
1054
Unbekanntes Tabellenfeld 'rol_webmaster' in field list
B A C K T R A C E

FILE: adm_program/system/classes/database.php
LINE: 513
CALL: Database->showError()

FILE: adm_program/system/classes/user.php
LINE: 400
CALL: Database->query()

FILE: adm_program/installation/update.php
LINE: 331
CALL: User->checkLogin()
LG Hans

Re: Update Beta 1 --> Beta 2

Verfasst: 26. Nov 2016, 22:21
von Offe
Der von Hans genannte SQL Error tritt entsprechend auch bei mir auf.

Gruß Offe

Re: Update Beta 1 --> Beta 2

Verfasst: 26. Nov 2016, 23:51
von Giovanni9030
XimeX hat geschrieben:Den 2. Fehler muss ich mir noch genauer anschauen
Ich glaube, zumindest einen Fehler gefunden zu haben. In meiner Datenbank (Beta1) gibt es in der Tabelle adm_roles ein Feld rol_administrator
Soweit ich das gesehen habe, sollte dieses Feld beim Update in rol_webmaster umbenannt werden.
So steht es zumindest in der update_3_2.xml. In der db.sql existiert bereits das neue Feld rol_webmaster.
Daher die Fehlermeldung: Unbekanntes Tabellenfeld 'rol_webmaster' in field list
Ich habe nun das Feld in rol_webmaster umbenannt, jetzt funktioniert zwar das Update auf die Beta 2 ohne Fehler aber bei erneutem Aufruf meiner Seite bekomme ich nur mehr eine weiße Seite. In der Tabelle adm_components steht nun "3.2.0 Beta 2". Nach Entfernung von "Debug" kommt dann untenstehende Anmelde-Seite. Nach der Anmeldung läuft dann die Seite normal.
Nur fehlen jetzt im Administrator-Menü das Datenbank-Backup und die Einstellungen.
Vielleicht hilft euch das weiter.
Anmeldung.JPG
Anmeldung.JPG (14.96 KiB) 10278 mal betrachtet
LG Hans

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 00:46
von XimeX
Also in der v3.2 wird von webmaster in administrator unbenannt. https://github.com/Admidio/admidio/issues/249

Was habt ihr wenn ihr auf Beta 1 seits in der components tabelle beim wert "core" stehen? Sieht aus als würde er in user.php in Zeile 376 falsch prüfen.

Ich hab eig die logs im neuem Logs ordner gemeint. -> adm_my_files/logs/[DATUM]_admidio.log

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 10:19
von Offe
MIgrationsszenario war ja ursprünglich von 3.1.8 --> 3.2 Beta 1 --> 3.2 Beta 2 . Da bereits beim Schritt auf Beta 1 einiges schief gelaufen ist viewtopic.php?f=13&t=7238 könnte ja dort bereits etwas noch falsch gesetzt worden sein.

In der angesprochenen Spalte core steht 3.2.0 Beta 1 drin:
Component_Core.jpg
Component_Core.jpg (10.86 KiB) 10259 mal betrachtet
Ich habe dir mal mein Logfile vom Updateversuch von Beta 1 --> Beta 2 angehängt.

Gruß Offe

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 16:29
von XimeX
Lass dir mal "$installedDbVersion" in Zeile 376 in user.php ausgeben/loggen wenn du das update durchführen willst. Er springt eindeutig in den elseif Teil was falsch ist.

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 16:59
von Offe
Es wird "3.2.0 Beta 1" ausgegeben.

Gruß Offe

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 17:46
von XimeX
Ok dann hab ich den Fehler. Muss mir das nur nochmal genauer durch den Kopf gehen lassen welche Art es zu fixen die bessere ist.
Es würde daweil reichen wenn du die Zeile abänderst in:

Code: Alles auswählen

// Das Leerzeichen nach "3.2.0"
if ($isAdministrator && version_compare($installedDbVersion, '3.2.0 ', '>='))

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 18:49
von Giovanni9030
Bei erneutem Aufruf meiner Seite bekomme ich nur mehr eine weiße Seite. In der Tabelle adm_components steht nun "3.2.0 Beta 2". Nur fehlen jetzt im Administrator-Menü das Datenbank-Backup und die Einstellungen.
Habe heute in der login_form.php "rol_administrator" gegen "rol_webmaster" ausgetauscht, jetzt ist die Anmeldeseite wieder normal. Die beiden fehlenden Einträge im Administratormenü bestehen jedoch noch immer.
Meine Log von gestern anbei.
admidio-2016-11-26.zip
(28.03 KiB) 302-mal heruntergeladen
LG Hans[/quote]

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 19:27
von Offe
Mit der Änderung konnte ich nun erfolgreich auf Beta 2 updaten. Die von Hans angesprochenen fehlenden Menüeinträge kann ich nicht bestätigen, bei mir sieht es normal aus.

Einzigster Punkt, der mir aufgefallen ist, ist folgender Eintrag im Admidio-Logfile, den ich aber bereits die letzten Tage schonmal gesehen habe:
Admidio.WARNING: DEPRECATED: "$user->isWebmaster()" is deprecated, use "$user->isAdministrator()" instead! {"file":"/var/www/html/adm_program/system/classes/user.php","line":1745,"class":"User","function":"isWebmaster"}
PHP-Errorlog ist fehlerfrei.

Gruß Offe

Re: Update Beta 1 --> Beta 2

Verfasst: 27. Nov 2016, 19:54
von Giovanni9030
Hallo,
nachdem ich jetzt nach gestrigem geglücktem Update das Feld rol_webmaster in rol_administrator wieder umbenannt habe, ist jetzt das Administrator-Menü wieder komplett. Änderung in der login_form.php auch wieder rückgängig gemacht.
Sieht so aus, dass nun alles wieder funktioniert.

LG Hans