Update 2.3.7 -> 3.2.8

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Hallo,

ich scheitere am Versuch, eine alte Installation zu aktualisieren von 2.3.7 auf das aktuelle 3.2.8. Ich beobachte folgenden Fehler:

Code: Alles auswählen

[17-Apr-2017 05:42:29 Europe/Berlin] PHP Notice:  Undefined index: administrator in /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/user.php on line 425
[17-Apr-2017 05:42:31 Europe/Berlin] PHP Fatal error:  Uncaught Error: Call to a member function getTableColumnsProperties() on null in /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/tableaccess.php:118
Stack trace:
#0 /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/tableaccess.php(71): TableAccess->clear()
#1 /home/wobsta/heisenberg/admidio_new/adm_program/installation/db_scripts/upd_2_4_0_conv.php(101): TableAccess->__construct(NULL, 'adm_users', 'usr')
#2 /home/wobsta/heisenberg/admidio_new/adm_program/installation/update.php(427): include('/home/wobsta/he...')
#3 {main}
  thrown in /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/tableaccess.php on line 118
In der im traceback angezeigte Zeile 101 von upd_2_4_0_conv.php steht

Code: Alles auswählen

$systemUser = new TableAccess($db, TBL_USERS, 'usr');
Aber die Variable $db ist gar nicht definiert ... wie kann das überhaupt gehen bzw. ist da was falsch bzw. muss man was patchen?

Danke schon mal, liebe Grüße


André Wobst
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Update 2.3.7 -> 3.2.8

Beitrag von fasse »

Hi André,

bitte ersetze die Zeile

Code: Alles auswählen

$systemUser = new TableAccess($db, TBL_USERS, 'usr');
mit folgender Zeile

Code: Alles auswählen

$systemUser = new TableAccess($gDb, TBL_USERS, 'usr');
Dann sollte es funktionieren.

Viele Grüße
Fasse
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Re: Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Hi,

danke, das hab ich gemacht, und es geht ein Stück weiter. Hab den fix auch eingereicht https://github.com/Admidio/admidio/pull/589

Aber fertig wird es noch nicht. Es passiert folgendes (wieder ausgehend von der originalen 2.3.7 Datenbank). Die Systemantwort ist, dass alles geklappt hat, ein Fehler im php-log taucht auch nicht auf. Aber wenn man dann auf die Admidio-Instanz neu zugreift, meldet er die Datenbankversion 3.0.0-Beta 1. Das ist schon mal komisch, aber ok, warum auch immer. Das System schlägt jedenfalls erneut eine Aktualisierung vor, von der 3.0.0-Beta 1 auf die 3.2.8. Die kann man wieder laufen lassen. Dabei entsteht erneut ein Fehler:

Code: Alles auswählen

[18-Apr-2017 10:13:34 Europe/Berlin] PHP Fatal error:  Uncaught Error: Call to a member function fetchColumn() on boolean in /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/componentupdate.php:470
Stack trace:
#0 /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/componentupdate.php(108): ComponentUpdate->updateStepSetDefaultConfiguration()
#1 /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/componentupdate.php(210): ComponentUpdate->executeStep(Object(SimpleXMLElement))
#2 /home/wobsta/heisenberg/admidio_new/adm_program/installation/update.php(468): ComponentUpdate->update()
#3 {main}
  thrown in /home/wobsta/heisenberg/admidio_new/adm_program/system/classes/componentupdate.php on line 470
und die Server-Antwort ist leer und hat den status code 500.

Danach kann man aber die Admidio-Instanz "aufmachen". Das geht soweit, die Instanz ist dem ersten Anschein nach funktionsfähig. Webmaster bzw. neu ja Administrator-Rolle habe ich auch, aber ich kann trotzdem nichts (mehr) administrieren. Ich bin jetzt irgendwie kein Administrator mehr, obwohl ich diese Rolle habe. Irgendwas an der Migration geht immer noch schief ... ?!
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Update 2.3.7 -> 3.2.8

Beitrag von fasse »

Hi André,

ich werde mir das nächstes WE noch mal selber anschauen. Wir haben das Update von einer 2.x Version auf die 3.x getestet, allerdings kann es sein, dass wir den Test nicht mit der 3.2 gemacht haben und dort was reingekommen ist, was nun stört (siehe auch dein vorheriger Fehler).

Ich melde mich, sobald ich das Update selber durchgeführt habe.

Viele Grüße
Fasse
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Re: Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Gut, super, danke! Evtl. von Bedeutung ... bei mir läuft das alles "gegen" postgres ... :|
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Update 2.3.7 -> 3.2.8

Beitrag von fasse »

Hallo,

ich hab jetzt die Stelle gefunden, bei der er bei dir aussteigt. Leider ist mir noch nicht klar warum.

Kannst du mal den Debug-Modus in Admidio aktivieren und dann in unsere Logdateien adm_my_files/logs schauen. Dort der letzte Eintrag wäre interessant. Kannst du das SQL mal bitte hier posten.

Müsste so ähnlich sein:

Code: Alles auswählen

SELECT lst_id
                      FROM '.TBL_LISTS.'
                     WHERE lst_org_id  = '. $organization['org_id'].'
                       AND lst_default = 1 
Viele Grüße
Fasse
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Re: Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Hi Fasse,

danke für Deine Antwort und Deinen Vorschlag. Ich habe nun $gDebug = 1; in meine config eingefügt und es wieder von Beginn an laufen lassen. D.h. die bestehende 2.3.7 Datenbank und dann 3.2.8 mit dem gDb-patch. Irgendwie ist allein durch das gDebug aber ein neues Problem entstanden. Hab das eben noch mal verifiziert (also noch mal ausgeschaltet, dann hab ich das zuvor beschriebene Problem), jetzt bekomme ich:

1. Im Browser folgenden Fehler:

Code: Alles auswählen

S Q L - E R R O R

CODE: 42601
7

ERROR: syntax error at or near "UNICODE" LINE 1: SET NAMES UNICODE ^

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/database.php
LINE: 219
CALL: Database->query()

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

FILE: adm_program/installation/update.php
LINE: 68
CALL: Database->__construct()
2. Im Log-File:

Code: Alles auswählen

[2017-04-23 06:27:04] Admidio.NOTICE: #################################################################################################  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/logging.php","line":45,"class":null,"function":"require_once"}
[2017-04-23 06:27:04] Admidio.NOTICE: URL: https://verwaltung.heisenberg-gesellschaft.de/admidio_new/adm_program/installation/update.php  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/logging.php","line":46,"class":null,"function":"require_once"}
[2017-04-23 06:27:04] Admidio.NOTICE: MEMORY USAGE: 459.7 KB  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/logging.php","line":47,"class":null,"function":"require_once"}
[2017-04-23 06:27:04] Admidio.INFO: CONSTANTS: URLS & PATHS & FOLDERS {"ADMIDIO_HOMEPAGE":"https://www.admidio.org/","HTTPS":true,"PORT":"","HOST":"verwaltung.heisenberg-gesellschaft.de","DOMAIN":"verwaltung.heisenberg-gesellschaft.de","ADMIDIO_URL":"https://verwaltung.heisenberg-gesellschaft.de/admidio_new","FILE_URL":"https://verwaltung.heisenberg-gesellschaft.de/admidio_new/admidio_new/adm_program/installation/update.php","CURRENT_URL":"https://verwaltung.heisenberg-gesellschaft.de/admidio_new/adm_program/installation/update.php","WWW_PATH":"/home/wobsta/heisenberg/admidio_new","ADMIDIO_PATH":"/home/wobsta/heisenberg/admidio_new","CURRENT_PATH":"/home/wobsta/heisenberg/admidio_new/adm_program/installation/update.php","FOLDER_DATA":"/adm_my_files","FOLDER_CLASSES":"/adm_program/system/classes","FOLDER_LIBS_SERVER":"/adm_program/libs","FOLDER_LIBS_CLIENT":"/adm_program/libs","FOLDER_LANGUAGES":"/adm_program/languages","FOLDER_THEMES":"/adm_themes","FOLDER_MODULES":"/adm_program/modules","FOLDER_PLUGINS":"/adm_plugins"} {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/logging.php","line":75,"class":null,"function":"require_once"}
[2017-04-23 06:27:04] Admidio.INFO: SQL: SET NAMES UNICODE  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/classes/database.php","line":497,"class":"Database","function":"query"}
[2017-04-23 06:27:04] Admidio.CRITICAL: 42601: 7 ERROR:  syntax error at or near "UNICODE" LINE 1: SET NAMES UNICODE                   ^  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/classes/database.php","line":710,"class":"Database","function":"showError"}
showError geht nicht ... :/

Liebe Grüße


André
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Update 2.3.7 -> 3.2.8

Beitrag von fasse »

Hallo André,

ich habe jetzt diese Fehler und einige andere gefunden und behoben.

Bitte lade unsere aktuelle 3.2 hier herunter https://github.com/Admidio/admidio/tree/v3.2
Der grüne Button Clone or download und dann Download ZIP.

Bitte führe das Update dann mal mit dieser Version durch.

Viele Grüße
Fasse
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Re: Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Hi Fasse,

super, das sieht schon viel, viel besser aus. Das Update läuft jetzt direkt in einem Zug durch ohne diesen Abbruch bei 3.0.0-Beta 1. Fehler kommen keine. Danach ich mich einloggen und alles sieht soweit gut aus. Aber ich habe zwei Probleme.

Wenn man die Benutzerverwaltung aufruft, funktioniert die Suchfunktion nicht. Im php-log erscheint folgender Fehler:

Code: Alles auswählen

[23-Apr-2017 09:35:21 Europe/Berlin] [2017-04-23 09:35:21] Admidio.CRITICAL: 42883: 7 ERROR:  operator does not exist: character varying = integer LINE 37: ..., COALESCE(usr_login_name, ' '), CASE WHEN gender = 1 THEN '...                                                               ^ HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.  {"file":"/home/wobsta/heisenberg/admidio_new/adm_program/system/classes/database.php","line":710,"class":"Database","function":"showError"}
Außerdem hab ich weiterhin das Problem, dass ich zwar in der Administrator-Gruppe bin (früher webmaster), aber mir der Admin-Zugang fehlt. Ich kann das reparieren, dann funktioniert das (dass ich beispielsweise die Profilfelder pflegen kann), aber schön ist das natürlich nicht mit diesem händischen Eingriff (auch wenn ich damit natürlich leben kann):

Code: Alles auswählen

wobsta@my:/etc/nginx/sites-enabled# sudo -u heisenberg psql admidio_new
psql (9.5.6)
Type "help" for help.

admidio_new=> select rol_administrator from adm_roles where rol_name = 'Administrator';
 rol_administrator 
-------------------
                 0
(1 row)

admidio_new=> update adm_roles set rol_administrator = 1 where rol_name = 'Administrator';
UPDATE 1
Danke für all die Hilfe!!! Liebe Grüße

André
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Update 2.3.7 -> 3.2.8

Beitrag von fasse »

Hallo André,

beide Probleme sind jetzt behoben. Wenn du dein Produktivsystem noch nicht aktualisiert hast, würde ich empfehlen, noch einmal die aktuelle Version herunterzuladen und das Update durchzuführen, danach sollte es passen.

Viele Grüße
Markus
wobsta
Beiträge: 7
Registriert: 17. Apr 2017, 03:52

Re: Update 2.3.7 -> 3.2.8

Beitrag von wobsta »

Hi Fasse,

toll, ich hab es noch mal komplett neu von der Original-Datenbank laufen lassen und jetzt klappt alles super. Im Moment sind mir keine Probleme mehr aufgefallen. Ich teste noch ein bisschen in den kommenden Tagen und werde dann die Produktionsumgebung auf den aktuellen Stand heben. Soweit alles perfekt, vielen Dank!!!

Liebe Grüße


André
Antworten