Wir sind gerade dabei einen Shop von der CE 4.10.7 auf die PE 6 zu updaten.
Beim Versuch die Datenbank zu übertragen kommen wir immer zu Problemen. Ich habe aber das Gefühl, dass ich die Anleitung da nicht richtig verstehe.
Wir versuchen es so:
Originaldatenbank wird auf dem alten Server mit den Dateien aus der Doku (migrate_ce_5_3_to_6_0.sql, migrate_ce_5_3_to_6_0_cleanup.sql) bespeist
Originaldatenbank wird dann auf den neuen Server in die vorinstallierte PE 6 gezogen
Dort dann die database migration commands ausführen
Das will bei uns aber nicht klappen. Machen wir das richtig?
interessant wäre die genauere Definition von “Problemen”. Vom Ablauf her ist das grundsätzlich richtig, was ihr macht. Kopie der Live-Datenbank mit den Migration Skripten bespielen, die migrierte DB an ein OXID6 anhängen und migration commands laufen lassen. Das sollte die Standard(!) Datenbank in den richtigen Zustand bringen.
Wir machen das immer mit vorher deaktivierten Modulen um querschläger an der Stelle zu vermeiden. Neben der DB Migration geht die meiste Zeit drauf für die Migration der Module. Sollten die ebenfalls Änderungen an der Datenbank gemacht haben, dann musst Du die manuell prüfen.
Ja, ist richtig. Allerdings würde ich nicht die Originaldatenbank nehmen sondern eine 1:1 Kopie davon. Vor dem Kopieren sollten alle Module deaktiviert werden und das Standardtheme aktiviert werden. Jetzt müsste man halt wissen was “nicht klappen” bedeutet.
Moin,
Vielen Dank für die ganzen Rückmeldungen. Entschuldigt die späte Rückmeldung, mir kamen noch andere Dinge dazwischen.
Probleme gibt es beim Import der modifizierten Datenbank in die PE 6. Ich exportiere/importiere die DBs über Plesk.
Jetzt habe ich es geschafft, die modifizierte DB in die PE6 zu importieren. Der Shop ist im Wartungsmodus und das Backend dadurch nicht erreichbar. Wie führe ich dann diese beiden Schritte aus?
Per ssh mit Kommandozeile auf dem Server einloggen und per cd in dein Shopverzeichnis wechseln. Da wo das source und vendor Verzeichnis ist. Dann die besagten Kommandos ausführen.
Der erste Command ging durch. Beim zweiten erhalte ich folgende Fehler:
PHP Warning: array_keys() expects parameter 1 to be array, null given in /var/www/vhosts/nicotel.de/stage.nicotel.de/vendor/OXID-esales/oxideshop-ce/source/Core/Language.php on line 1387
PHP Warning: array_keys() expects parameter 1 to be array, null given in /var/www/vhosts/nicotel.de/stage.nicotel.de/vendor/OXID-esales/oxideshop-ce/source/Core/DbMetaDataHandler.php on line 197
PHP Warning: Invalid argument supplied for foreach() in /var/www/vhosts/nicotel.de/stage.nicotel.de/vendor/OXID-esales/oxideshop-ce/source/Application/Model/ShopViewValidator.php on line 237
There was an error while regenerating the views. Please double check the state of database and configuration.
Bei den Systemvoraussetzungen haben wir uns an die Doku gehalten. Zumindest grob.
Anstatt PHP 7.0 verwenden wir 7.4.33 und bei der Datenbank MariaDB 10.5.13 .
Die initiale Installation der PE 6.0 hat damit aber funktioniert.
Der Shop scheint keine Sprachen zu finden. Schau mal in der Tabelle oxconfig, ob es einen Eintrag mit mit oxvarname “aLanguages” gibt, und ob dieser oxshopid “1” hat.
@leofonic
Hm. Eigentlich habe ich das schon gemacht. Gut möglich, dass ich bei den Datenbanken durcheinander gekommen bin. Kann ich die Skripte da jetzt noch drüber laufen lassen?
Naja da die Migrations schon gelaufen sind, ist das ein wenig durcheinander. Nimm besser einfach nochmal den Urzustand der 4.10, dann die scripte, migrations, views.
@leofonic
Soll beim Import der CE Datenbank die PE Datenbank erhalten werden oder soll die Datenbank beim Import neu erstellt werden?
Beim Import ohne neue Erstellung erhalte ich den Fehler:
ERROR 1050 (42S01) at line 3636: Table ‘oxv_oxactions_de’ already exists
program ‘mysql’ finished with non-zero exit code: 1
Gibt alle Versionen auch als CE, ab der Version 6.5 gilt die CE-Lizenz nur noch für Testzwecke. Ein Upgrade von CE zu PE würde ich innerhalb der gleichen Version machen, also z.B. von CE 4.10 auf CE 6.0, dann auf PE 6.0.