Datenbank Update geht jetzt nicht

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Hallo Alle

Vorgeschichte:
Erstinstallation 2011 mit Admidio 2.18, regelmäßig BU.
Anweisung vom Hoster (11-2016) altes PHP wird nicht mehr unterstützt -> Upgrade auf 3.10 (07-12-2016) -
Upgrade verlief ohne Probleme - jedoch kein neues BU da wir die Site nur in der warmen Jahreszeit nutzen (Segelfliegen)
23.12.2016 Hardwareschaden beim Hoster - Wir "wurden umgezogen" - OHNE DB !!! - Sämtliche Files inkl. Fotos und pdf's vorhanden jedoch ohne Verknüpfungen. Anleitung nach Admidio Wiki

https://www.admidio.org/dokuwiki/doku.p ... herstellen

geht nicht:

Fehler
SQL-Befehl:

CREATE TABLE IF NOT EXISTS `afl_announcements` (

`ann_id` INT( 11 ) UNSIGNED NULL AUTO_INCREMENT ,
`ann_org_shortname` VARCHAR( 10 ) NULL ,
`ann_global` TINYINT( 1 ) UNSIGNED NULL ,
`ann_headline` VARCHAR( 100 ) NULL ,
`ann_description` TEXT NULL ,
`ann_usr_id_create` INT( 11 ) UNSIGNED NULL ,
`ann_timestamp_create` DATETIME NULL ,
`ann_usr_id_change` INT( 11 ) UNSIGNED NULL ,
`ann_timestamp_change` DATETIME NULL ,
PRIMARY KEY ( `ann_id` ) ,
KEY `ANN_ORG_FK` ( `ann_org_shortname` ) ,
KEY `ANN_USR_FK` ( `ann_usr_id_create` ) ,
KEY `ANN_USR_CHANGE_FK` ( `ann_usr_id_change` )
) TYPE = INNODB AUTO_INCREMENT =50;

MySQL meldet: Dokumentation

#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 'TYPE=InnoDB AUTO_INCREMENT=50' at line 15

Was soll ich tun ? Wie soll ich vorgehen ?

LG Almflieger

Update:

Datenbank installiert

beim Upgrade von 2.1.8 auf 3.1 folgender Fehler

S Q L - E R R O R

CODE: 42S21

1060

Duplicate column name 'usf_name_intern'

B A C K T R A C E

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

FILE: adm_program/installation/update.php
LINE: 379
CALL: Database->query()
Zuletzt geändert von almflieger am 5. Jan 2017, 19:50, insgesamt 1-mal geändert.
Benutzeravatar
fasse
Administrator
Beiträge: 6186
Registriert: 12. Nov 2005, 16:06

Re: Datenbank Update geht jetzt nicht

Beitrag von fasse »

Hallo Almflieger,

die Frage ist jetzt, welche Datenbank hast du wie installiert?

Das Feld, welches hier zum Fehler führt, wurde in Version 2.2 hinzugefügt. Es scheint jetzt so, dass du bereits eine Datenbank hast, welche mind. Version 2.2 ist und du nun ein Update auf selbige machen willst.

Viele Grüße
Fasse
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Also die DB ist 2.1.8 von der Erstinstallation (nie upgedated). Mit dem neuen Admidio 3.1.10 nach Aufruf /admidio

Update auf Version 3.1.10
Deine Datenbank liegt in Version 2.1.8 vor.
Eine Aktualisierung der Datenbank auf Version 3.1.10 ist erforderlich.
Pflichtfelder
Ein Update der Datenbank darf nur von einem Webmaster durchgeführt werden. Gib an dieser Stelle bitte die Zugangsdaten eines Webmasters ein.

danach:
S Q L - E R R O R
CODE: 42S21
1060
Duplicate column name 'usf_name_intern'
B A C K T R A C E
FILE: adm_program/system/classes/database.php
LINE: 433
CALL: Database->showError()
FILE: adm_program/installation/update.php
LINE: 379
CALL: Database->query()

Hilft das Fasse ?

LG Wolfgang
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Servus Fasse anbei die Bildschirmfotos
Update_1.png
Update_1.png (82.61 KiB) 8364 mal betrachtet
Update_2.png
Update_2.png (30.12 KiB) 8364 mal betrachtet
Kannst dich selbst davon überzeugen, Password gäbs bei PM.

http://www.aka-flieg.at/admidio/

LG Wolfgang
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Bei Verwendung des alten Programms 2.1.8 wird die DB auch nicht genommen
Warning: Declaration of MySqlDB::db_error() should be compatible with DB::db_error($code, $message) in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/db/mysql.php on line 14

Warning: Declaration of TableUserData::readData($usr_id, $usf_id) should be compatible with TableAccess::readData($id, $sql_where_condition = '', $sql_additional_tables = '') in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/classes/table_user_data.php on line 67

Warning: Declaration of User::readData($usr_id) should be compatible with TableAccess::readData($id, $sql_where_condition = '', $sql_additional_tables = '') in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/classes/user.php on line 41

Warning: Declaration of TableOrganizations::readData($organization) should be compatible with TableAccess::readData($id, $sql_where_condition = '', $sql_additional_tables = '') in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/classes/table_organizations.php on line 50

Warning: Declaration of TableSession::readData($session) should be compatible with TableAccess::readData($id, $sql_where_condition = '', $sql_additional_tables = '') in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/classes/table_session.php on line 118

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/db/mysql.php:26 Stack trace: #0 /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/common.php(82): MySqlDB->connect('localhost', 'd024a963', 'qSuNUz4Mxhog3d7...', 'd024a963') #1 /www/htdocs/w00c6646/admidio-2.1.8/adm_program/modules/announcements/announcements.php(21): require_once('/www/htdocs/w00...') #2 {main} thrown in /www/htdocs/w00c6646/admidio-2.1.8/adm_program/system/db/mysql.php on line 26

http://aka-flieg.at/admidio-2.1.8/adm_p ... ements.php
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Soll sich das Sprichwort bewahrheiten "Was nichts kostet, ist nichts Wert"
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbank Update geht jetzt nicht

Beitrag von XimeX »

Nochmal zusammengefasst ob ich es richtig verstanden habe:
Ihr hattet eine Admidio Instanz mit v2.1.8 und einer älteren PHP Version.

Euer Hoster hat einen riesigen Ausfall wobei die ganze DB weg war. Er hat aber die Infrastruktur jetzt neu gemacht mit einer neueren PHP Version (Frage 1: Welche PHP Version habt Ihr jetzt zur Verfügung?)
Deshalb musstet Ihr auch auf eine V3.x updaten.

Du hast dann versucht direkt mal die v3.1.8 zu installieren und dann die alten (v2.1.8) Daten zu importieren? -> Das geht so leider nicht.
Du hast ja dann Versucht nochmal die alte v2.1.8 zu installieren und von dieser das Update auszuführen. Dann ist die fehlermeldung gekommen das er "mysql_connect()" nicht kennt. Habts Ihr jetzt PHP 7?

Vorgehensweise wäre am besten:
  1. Lokal eine Admidio 2.1.8 installieren und auch DB einrichten. Daten importieren.
  2. Admidio 3.2.x update durchführen
  3. Daten exportieren und beim Hoster inportieren
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Hab alles so gemacht wie angeordnet :mrgreen:

FYI: OSX 10.12.2, AMPPS 3.5, MySQL 5.6.24, PHP 5.3.29
Admidio 2.1.8 installiert DB gelöscht und lt. Wiki (siehe oben) wieder hergestellt.
Backupfile: -> Type auf Engine getauscht ! dann ging's zum einspielen.

Danach Update lt. Anleitung von 2auf 3.
DB liegt in Version 2.1.8 vor !

Bekomme beim Update auf 3.2.3 folgende Fehlermeldung:

Fatal error: Call to a member function getTableColumnsProperties() on a non-object in /Applications/AMPPS/www/admidio/adm_program/system/classes/tableaccess.php on line 118
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbank Update geht jetzt nicht

Beitrag von XimeX »

Ok kannst du in der config "$gDebug = 1;" setzen, update nochmal machen und mir dann die logs zukommen lassen. Bzw du könntest es mit einem Zwischenschritt auf die neueste v2.4 versuchen. Und von der dann das Update auf v3.2 machen
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Servus Danke für die Hilfe XimeX

Bei neuerlicher Installation die zuerst klaglos funktionierte hab ich jetzt nach dem Einspielen der DB ins cleane Programm diesen Datums Fehler bei (fast?) allen Datensätzen:


Deprecated: Function split() is deprecated in /Applications/AMPPS/www/admidio-2.1.8/adm_program/system/date.php on line 29

oder

Deprecated: Function split() is deprecated in /Applications/AMPPS/www/admidio-2.1.8/adm_program/system/date.php on line 94

Kann Ich das im "date.php" korrigieren ?

Almflieger
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbank Update geht jetzt nicht

Beitrag von XimeX »

Welche Version hast du jetzt auf den Server rüberkopiert?
split() ist in PHP 7.0 nicht mehr vorhanden -> https://secure.php.net/manual/de/function.split.php
Diese Funktion verwenden wir auch nicht mehr. Hast du jetzt die 2.4 rüberkopiert?
almflieger
Beiträge: 8
Registriert: 29. Nov 2016, 20:33

Re: Datenbank Update geht jetzt nicht

Beitrag von almflieger »

Danke

Bei AMPPS 3.2 kann ich nur von PHP 5.3 bis 5.6 wählen
Standard ist 5.3 hab alle durchprobiert das war bei 5.3. Bei den anderen Versionen kommen "noch" mehr unterschiedliche Fehler.

2.4 noch nicht drüberkopiert bin noch bei 2.1.8 mit letzter Sicherung der Datenbank (also fast original) die letzten Einstellungen von meinem Provider weiß ich leider nicht. Das ist ca 5 Jahre her.

PHP admin -> Webserver

Apache/2.4.12 (Unix) PHP/5.3.29 mod_wsgi/3.5 Python/2.7.9 OpenSSL/1.0.1j
Datenbank-Client Version: libmysql - 5.6.24
PHP-Erweiterung: mysqli Dokumentation
PHP-Version: 5.3.29

Der Import hat ja funktioniert. Keine Fehlermeldung beim Start.
Bei Admidio eingelogt als webmaster:
Über dem "Logo" diese Zeile:

Deprecated: Function split() is deprecated in /Applications/AMPPS/www/admidio-2.1.8/adm_program/system/date.php on line 188

Danach bei ich sag mal "Datumsabfrage" kommt das im Fließtext z.B. bei den Ankündigungen oder bei den Benutzern.

Deprecated: Function split() is deprecated in /Applications/AMPPS/www/admidio-2.1.8/adm_program/system/date.php on line 29

hilft das ?

vorab Danke nochmal LG Almflieger
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbank Update geht jetzt nicht

Beitrag von XimeX »

Ok das sind nur Warnmelungen weil die Funktion ab PHP 5.3 veraltet ist.
Warnung: Diese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 7.0.0 ENTFERNT.
Sollte aber keine Fehler verursachen. Ich kenn diese alte Admidio version leider überhaupt nicht. Aber vermutlich werden diese depracated Fehlermeldungen durch das $gDebug = 1; ausgegeben. Ist jetzt aber egal. Einfach die Fehlermeldung ignorieren
Antworten