Oxid Majorupdate von CE 4.10 auf PE 6

Moin zusammen,

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?

Danke für die Rückmeldungen

Oje, mit diesen Vorgehen werden noch viele Hindernisse auf euch zukommen,

besser in diesem Fall im groben gesagt:

Separate neue nackte Installation von 6.x
(Am besten gleich auf 6.5.1).

Danach Modulsetups Step by Step
Danach Migration der Datenbank.

„Danach“ Steps je nach Vorprüfungen, ich kann ja ja Nicht eure Module.

Jedenfalls so wie ihr Vorgehen wollt, wird das eine Never endingstory.

Sorry ,-)

Hallo Lucas,

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.

Grüße,
Thorsten

1 Like

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?

Verzeihung, falls das unter Grundwissen fällt.

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.

Passen die Systemvoraussetzungen?:

https://docs.oxid-esales.com/eshop/de/6.0/installation/neu-installation/server-und-systemvoraussetzungen.html

Falls du nicht die 6.0 hast, musst du in der Doku auf die von dir genutzte Version gehen.

Hallo @naledre ,

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
OXSHOPID hat dort den Wert oxbaseshop.

Dann ist die migrate_ce_5_3_to_6_0_cleanup.sql da nicht drübergelaufen.

@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

Upgrade CE auf PE frag am besten den OXID Support. Ich würde die Updates bis zur neuesten Version auf CE machen und dann auf PE upgraden.

Moin @leofonic ,
Welches ist die aktuelle CE Version? Ich dachte die 6 gibt es nur als PE ?

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.

Das ist gut zu wissen, dann mache ich es so. Die Skripte, die ich bisher ausgeführt habe, waren doch aber schon die der CE 6 richtig ?

Hi Lucas,
Ich verstehe nicht warum du nicht es so gemacht hast wie ich es beschrieben hatte. Ich habe damit nie Probleme.

Upgrades so wie bei dir , lieber mit neu Installation der gewünschten Version machen, dann Step by Step.

LG Brian