Fehler beim Update auf 2.2.1

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Fehler beim Update auf 2.2.1

Beitrag von Jokus »

Moin!
Beim Update kam unter anderem folgendes:

Warning: error_log() has been disabled for security reasons in /users/hoschi/www/filemanager/Lunen/Mitglieder/adm_program/system/classes/language.php on line 227

S Q L - E R R O R

CODE: 1025
Error on rename of './hoschi_lunen/adm_guestbook' to './hoschi_lunen/#sql2-751-18603c2' (errno: 152)

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 209
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 79
CALL: MySqlDB->db_error()

FILE: adm_install/update.php
LINE: 201
CALL: MySqlDB->query()

Wenn ich jetzt den Pfad adm_programm/index.php aufrufe kommt folgendes:


Warning: error_log() has been disabled for security reasons in /users/hoschi/www/filemanager/Lunen/Mitglieder/adm_program/system/classes/language.php on line 227

S Q L - E R R O R

CODE: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE = "1"' at line 2

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 209
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 79
CALL: MySqlDB->db_error()

FILE: adm_program/system/classes/table_access.php
LINE: 220
CALL: MySqlDB->query()

FILE: adm_program/system/classes/user.php
LINE: 350
CALL: TableAccess->readData()

FILE: adm_program/system/common.php
LINE: 207
CALL: User->readData()

FILE: adm_program/index.php
LINE: 19
CALL: require_once()

Ich hab mal ein bischen im Code rumgewühlt und soweit den Grund für den Fehler gefunden:
die variable $sql wird falsch belegt. Drucke ich alle $sql aus so kommt:
SELECT * FROM adm_sessions WHERE ses_session_id = "0a9dde594856cb926c7a092cc9c22c6e"
SELECT * FROM adm_auto_login WHERE atl_session_id = "0a9dde594856cb926c7a092cc9c22c6e" SELECT * FROM WHERE = "1" <--- da ist ja der Fehler. Wisst ihr was da beim Update passier sein kann?
Benutzeravatar
fasse
Administrator
Beiträge: 6182
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Jokus,

geh bitte erst einmal in die Datei /users/hoschi/www/filemanager/Lunen/Mitglieder/adm_program/system/classes/language.php on line 227 und entferne dort die Zeile mit error_log....

Ist das Update denn dann überhaupt komplett durchgelaufen ?

Falls nicht, würde ich ein Backup zurückspielen und es nach der Korrektur noch einmal probieren.

Viele Grüße
Fasse
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Joa habs neu geupdated, jetzt stockts aber wieder beim Update:

S Q L - E R R O R

CODE: 1025
Error on rename of './hoschi_lunen/adm_guestbook' to './hoschi_lunen/#sql2-751-1876903' (errno: 152)

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 209
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 79
CALL: MySqlDB->db_error()

FILE: adm_install/update.php
LINE: 201
CALL: MySqlDB->query()

Was ist da los? :D
Ich benutze das Gästebuch gar nicht, dass ist leer. Ich nutze auch generell nur die Mitgliederverwaltung. Das aber schon seit einigen Admidio-Versionen.
Letzte Version war 2.1.11
Benutzeravatar
fasse
Administrator
Beiträge: 6182
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Jokus,

beim Update verändern wir die Struktur der Datenbank. Auch wenn du das Gästebuch nicht nutzt, wird dennoch die interne Struktur angepasst. Das passiert immer für alle Module.

Was jetzt genau bei dir schief läuft, kann ich leider jetzt so auf die Ferne nicht sagen.

Wir können mal versuchen das Problem einzugrenzen. Gibt es in der Datenbank in der Tabelle adm_guestbook eine Spalte mit dem Namen gbo_usr_id_create oder noch gbo_usr_id ?
Gibt es in der Datenbank in der Tabelle adm_guestbook eine Spalte mit dem Namen gbo_timestamp_create oder noch gbo_timestamp ?

Kannst du mal nachschauen, ob es einen Foreign-Key mit der Bezeichnung adm_FK_GBO_USR gibt. Der müsste auch zur Tabelle adm_guestbook gehören. Falls ja, dann poste mal die genaue Bezeichnung (Groß/Kleinschreibung)

Gibt es ggf. bereits einen Foreign-Key mit der Bezeichnung adm_FK_GBO_USR_CREATE ?

Wenn du diese Fragen beantwortet hast, weiß ich zumindest schon mal genau, welcher DB-Befehl das Problem auslöst.

Viele Grüße
Fasse
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Moin!
Das scheint schon in die richtige Richtung zu gehen :D
Also: Nein, es gibt keinen von den neuen Spalten und auch den foreign-key gibts noch nicht.
Gibts Probleme wenn ich einfach adm_guestbook lösche und das adm-guestbook der neuen Version installiere? Oder könnten noch mehr Tabellen veraltet sein?
Ich spiel mal ein bisschen rum und meld mich wenn alles kaputt ist =D

Danke schonmal

Edit: Ich hab jetzt von 2.1.11 auf 2.1.12 geupdated. Da gabs kein Problem. Dann hab ich mal versucht von 2.1.12 auf 2.2.1 zu updaten, aber da kommt beim Updaten wieder der Fehler mit adm_guestbook:

Code: Alles auswählen

CODE: 1025
Error on rename of './hoschi_lunen/adm_guestbook' to './hoschi_lunen/#sql2-751-1876903' (errno: 152)
Benutzeravatar
fasse
Administrator
Beiträge: 6182
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Jokus,

ich hab die Ursache für deinen Fehler gefunden. Der Foreign-Key adm_FK_GBO_USR existiert bei dir aus irgendeinem Grund nicht. Da wir den im Update löschen wollen, kommt dann dieser Fehler.

Geh mal bitte in die Datei adm_install/db_scripts/upd_2_2_0_db.sql und entferne dort die Zeile

Code: Alles auswählen

ALTER TABLE %PREFIX%_guestbook DROP FOREIGN KEY %PREFIX%_FK_GBO_USR;
. Danach Backup einspielen und Update noch einmal starten. Dann hoffe ich das es durchläuft.
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Joa ^^
er kommt schon weiter.
Jetzt kommt aber folgender Fehler:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1025
Error on rename of './hoschi_lunen/adm_guestbook_comments' to './hoschi_lunen/#sql2-751-1902a72' (errno: 152)
Edit: Ich gehe mal davon aus, dass ich auch das hier löschen muss:

Code: Alles auswählen

ALTER TABLE %PREFIX%_guestbook_comments DROP FOREIGN KEY %PREFIX%_FK_GBC_USR;
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Jo das wars.
Der Foreign-Key fehlte auch
Danke!!! Hat sehr geholfen ;)
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Beitrag von JoDomoWorx »

mir auch, genau die gleichen!

Wie können die Foreign Keys einfach verschwinden?

Hast du auch vorher ein Backup eingespielt? Vielleicht gehen sie da verloren.
Jokus
Beiträge: 34
Registriert: 12. Sep 2010, 12:35

Beitrag von Jokus »

Irgendwann hab ich schonmal ein Backup eingespielt: Das war als ich eine 2.2 Beta installieren wollte. Da gabs nur Fehlermeldungen deswegen hab ich per Backup zurück auf 2.1.11 gesetzt.
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Fehlerquelle VIELLEICHT AUCH FÜR DIE ZUKUNFT abschalten

Beitrag von JoDomoWorx »

Nochmal zu dem Thema Foreign Key Constraints:

Ich hab das Backupfile nach den fraglichen verschwundenen Keys abgesucht - nicht drin. In der ursprünglichen 2.1.11-DB sind sie aber, und ein manuelles "Exportieren" nach SQL mit PHPAdmin exportiert sie auch mit.

Also: Das Backup aus der Admidio-Oberfläche vergißt die Foreign Key Contraints. Wenn man so ein Backup nicht auf die bestehende Datenbank, sondern auf eine leere Datenbank aufspielt, scheitert das Update auf 2.2 an der beschriebenen Stelle, weil sie dann halt fehlen. Die Fehlermeldung deutet auf RENAME, die fragliche Stelle war das DROP - irreführend!

So etwas kann natürlich an anderer Stelle in ähnlicher Form immer wieder passieren. Muss man die interne Backup-Funktion vielleicht überarbeiten?
Benutzeravatar
fasse
Administrator
Beiträge: 6182
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Jo,

ich hatte mir schon nach deinem Post von gestern mal das Backup-Script angeschaut und auch festgestellt, dass hier die Foreign-Keys nicht mit exportiert werden.

Hier haben wir ein externes Script eingebunden, ich frag da gleich mal nach, ob dort evtl. ein Export von Foreign-Keys eingebaut wird. Falls nicht müssen wir da wohl selber eine Lösung finden :(

Viele Grüße
Fasse
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Hallo Zusammen,

es gibt auf jeden Fall einen Workaround. Man kann sich die Tabellen zunächst mit dem db.sql aus dem Installationsverzeichnis anlegen und anschließend das Backup einspielen.

Gruß

Roland
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Beitrag von JoDomoWorx »

Cool, danke!
tiwo
Beiträge: 6
Registriert: 14. Apr 2011, 09:14

Beitrag von tiwo »

Hallo liebe Admidio Team

bisher lief das Programm super - vielen Dank.

Habe von 2.1.8 auf 2.2.2 und dann auf 2.2.3. "update" und jetzt immer den selben Fehler.

nach dem Login bekomme ich diese Fehlermeldung.

S Q L - E R R O R

CODE: 1054
Unknown column 'rol_visible' in 'where clause'

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 209
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 79
CALL: MySqlDB->db_error()

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

FILE: adm_program/system/classes/user.php
LINE: 691
CALL: User->checkRolesRight()

FILE: adm_program/index.php
LINE: 21
CALL: User->isWebmaster()

Ich bitte um Eure Hilfe......
wo rauf beziehen sich diese Fehlermeldungen?

bzw. wie kann ich auf die Version 2.1.8 zurück setzten.

Wenn ich die alten Verzeichnisse einspiele - bemängelt das Programm die höhere Datenbank Version 2.2.3 - wie kann ich diese von meiner Sicherung zurück setzten - bin ein Unprofi auf diesem Gebiet....

mit sportlichen Grüßen

Tilo
Antworten