Beiträge von SecCo

    Ich habe nochmal von vorne angefangen. Im SQL Dump habe ich alle Vorkommen von Logviewer gelöscht, also z.B.:

    Zitat

    ,(55537,'logviewer','deleteall'),(55535,'logviewer','list'),(55538,'logviewer','minidetail'),(55536,'logviewer','settings')

    ...habe ich vollständig gelöscht und auf die Syntax geachtet.

    Ich hatte wohl beim letzten Versuch einen Fehler eingebaut, jetzt hat der Import funktioniert und ./upgrade.sh -db -v -drop_keys -do lief auch ohne Fehler durch.

    Der eigentliche Fehler ist leider unverändert:

    Zitat

    Class "Xentral\Modules\LogViewer\Bootstrap" not found

    Vielleicht habe ich nicht genug gelöscht, ich bin mir nicht 100% sicher was weg muss. Hier ein Beispiel:

    Code
    ,\"linkeditor\":\"0.00\",\"log\":\"0.00\",\"logfile\":\"0.00\",\"logviewer\":\"0.00\",\"shopimporter_magento\":\"0.00\",

    habe ich geändert in;

    Code
    ,\"linkeditor\":\"0.00\",\"log\":\"0.00\",\"logfile\":\"0.00\",\"shopimporter_magento\":\"0.00\",

    aber ich denke vielleicht muss log und logfile auch gelöscht werden, also so:

    Code
    ,\"linkeditor\":\"0.00\",\"shopimporter_magento\":\"0.00\",

    Ich versuche das mal so...

    Ich habe es überall gelöscht aber der Fehler tritt noch unverändert auf.

    Ich habe dann nochmal ./upgrade.sh -db -v -drop_keys -do ausgeführt.

    Jetzt bekomme ich folgenden Fehler:

    Code
    Upgrade step 401 of 715...
    ALTER TABLE `hook` MODIFY COLUMN `id` int(11) NOT NULL auto_increment;
    PHP Fatal error:  Uncaught mysqli_sql_exception: Incorrect table definition; there can be only one auto column and it must be defined as a key in /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php:448
    Stack trace:
    #0 /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php(448): mysqli_query()
    #1 /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php(142): upgrade_main()
    #2 {main}
    thrown in /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php on line 448

    Der Text "LogViewer" kommt in der Datenbank 18 Mal an verschiedenen Stellen vor.

    Hier einige Ausschnitte als Beispiel:


    Code
    (2168,'logviewer_LogList_before',1,0,'',''),(2169,'logviewer_LogList_after',1,0,'','')
    Code
    \"log\":\"0.00\",\"logfile\":\"0.00\",\"logviewer\":\"0.00\",
    Code
    ,log,logfile,logviewer,mailausgang,managementboard,pdfarchiv,
    Code
    ,(55537,'logviewer','deleteall'),(55535,'logviewer','list'),(55538,'logviewer','minidetail'),(55536,'logviewer','settings'),
    Code
    ,(6456,'apps','logviewer',0,'Log File',NULL,NULL,'index.php?module=logviewer&action=list','Log File | Log File',0,

    Damit der Thread komplett ist....
    Alex hat mir sehr geholfen, nach einigen Versuchen konnte die Datenbank nun fehlerfrei importiert werden und sie funktioniert!
    Ganz Vorne, am Anfang der SQL Datei habe ich eingefügt:

    Code
    SET SESSION innodb_strict_mode=OFF;
    SET SQL_MODE='ALLOW_INVALID_DATES';

    Danach habe ich eine Textsuche nach „CONSTRAINT `“ durchgeführt und alle Zeilen, in denen es vorkommt (hier 11) gelöscht.

    Wichtig: in den vorhergehenden Zeilen muss jeweils ein Komma gelöscht werden damit die Syntax stimmt.

    Anschließend Datei speichern, hochladen und mit mariadb -u root -p openxe < /home/<username>/<dbname.sql> importieren.

    Danach lief ./upgrade.sh -db -v -drop_keys -do ohne Fehler durch (-drop_keys ist neu, war bei unserer DB nötig!).
    Ich konnte mich zunächst nicht anmelden.
    Die Anmeldung erfolgt nicht wie bei Xentral mit der E-Mailadresse.

    Bei OpenXe ist es: erster Buchstabe vom Vornamen, gefolgt vom Nachnamen.

    Eventuell ist es nötig das, Passwort zurückzusetzen.

    Falls sich kein User mehr einloggen kann, geht es auch wie folgt über die Datenbank:

    In der DB, in der Tabelle user, bei dem betreffenden user, diesen Wert in die Spalte passwordhash eintragen: $2y$10$LfwRpYmGR059mR7tubUb9.NSpUyAkELYCj0aHZLsodV443KqO0qM

    Das Passwort ist dann:

    temp

    Unser Azubi soll das demnächst nochmal nachstellen, falls hier was fehlen sollte trage ich es dann nach.

    Vielen dank an Alex für die Hilfe mit der Datenbank und an alle Beteiligten für OpenXe!

    Entferne mal aus der .sql-Datei die Zeile unterhalb von "CREATE TABLE auftrag", mit dem Text "KEY `shopextid`", dann nochmal importieren, dann upgrade.


    Du kannst auch nur den Abschnitt mit "auftrag" in eine extra-Datei kopieren...

    Jetzt bekomme ich beim importieren den Fehler:

    ERROR 1072 (42000) at line 5436: Key column 'shopextid' doesn't exist in table

    Danke für die schnelle Rückmeldung!

    Der Import ist ohne Fehler durchgelaufen.

    Ich bekomme nun wieder den selben Fehler, den ich beim letzten Versuch nicht komplett nennen konnte:


    ALTER TABLE `auftrag` MODIFY COLUMN `shopextid` varchar(1024) NOT NULL COLLATE utf8mb3_general_ci;

    PHP Fatal error: Uncaught mysqli_sql_exception: Specified key was too long; max key length is 3072 bytes in /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php:441

    Hallo und guten Tag!


    Das ganze Thema ist für mich neu, ich konnte hier im Forum keine Lösung für das derzeit bestehende Problem finden.

    Ich habe OpenXe nach Anleitung installiert und den SQL-dump von Xentral v. 24.11.0 mit dem Befehl source in die DB openxe kopiert.

    Im Webinterface von OpenXe wurde mir dann angezeigt, das die Tabelle adresse nicht vorhanden ist.

    Ich habe dann upgrade.sh -db -do ausgeführt aber das Problem war unverändert. Habe dann nochmal upgrade.sh -do laufen lassen aber das Problem bestand noch.

    Dann habe ich mir die fehlende Tabelle aus der original OpenXe DB exportiert und in die Migrations DB importiert. Danach war die Login Seite erreichbar aber ich konnte mich mit meinem Xentral User nicht anmelden.
    Habe nochmal upgrade.sh -db -do -v ausgeführt und eine Fehlermeldung erhalten, die ich leider nicht komplett habe : ALTER TABLE `auftrag` MODIFY COLUMN `*hier stand id...?` rest fehlt mir leider.

    Jedenfalls habe ich die Tabelle auftrag gelöscht und die mir ebenfalls per export/import neu angelegt.

    Jetzt bekomme ich beim Upgrade mit verbose folgenden Fehler:


    ALTER TABLE `auftrag` MODIFY COLUMN `id` int(11) NOT NULL auto_increment;

    PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect table definition; there can be only one auto column and it must be defined as a key in /var/www/html/OpenXE-V.1.11/upgrade/data/upgrade.php:441


    Könnt ihr mir da helfen?

    Mit Datenbanken usw. habe ich bisher kaum Erfahrung, alleine komme ich nicht weiter...


    Edit:

    Die Userdaten habe ich ebenfalls bereits migriert.