Migrationsprozess - Shopware 6

Migration vorbereiten

Migrationsassistent installieren

Für diese Verbindung zwischen dem Quellshop und dem Zielshop ist die Erweiterung Migration-Assistent notwendig. Installiere diese Erweiterung sowohl im Quellshop als auch im Zielshop. Eine Verbindung ist nur dann möglich, wenn die Erweiterung in beiden Shops installiert und auch aktiviert wurde. 

Die nachfolgende Beschreibung des Migrationsprozesses bezieht sich auf den Migrationsassistenten ab Version 13.0.0 der Erweiterung.

Die Einrichtung des Shops sollte erst dann beendet werden, wenn die Migration erfolgreich abgeschlossen wurde. Fehler während der Migration sollten nicht ignoriert werden. Wenn dies nicht beachtet wird, ist eine Neuinstallation des Shops notwendig.

Integration erstellen

Um mit dem Zielshop auf die Daten des Quellshops zuzugreifen ist es notwendig, im Quellshop zusätzlich eine Integration bereit zu stellen. Mit Integrationen kannst Du Drittanwendungen über die API Zugriff auf verschiedene Ressourcen Deines Shops geben. Detaillierte Informationen dazu, was Integrationen sind und wie Du sie verwendest erhältst Du hier
Um eine neue Integration für die Migration anzulegen öffnest Du im Quellshop Einstellungen > System > Integrationen und klickst rechts oben auf Integration anlegen.  Anschließend speicherst Du dort folgende Einstellungen:


Name (1): Trage hier einen eindeutigen Namen wie Migration ein, damit Du diese Integration von den anderen unterscheiden kannst.
Administrator (2): Aktiviere diese Option, damit der Zielshop auf alle wichtigen Ressourcen in Deinem Quellshop zugreifen kann. 
Zugangs-ID (3): Die Zugangs-ID wird automatisch generiert. Mit Hilfe dieser ID kann der Zielshop auf den Quellshop zugreifen. Du solltest sie Dir notieren, da Du sie im nächsten Schritt benötigen wirst. 
Sicherheitsschlüssel (4): Auch der Sicherheitsschlüssel wird automatisch generiert und wird benötigt um den Zugriff aus dem Zielshop zu legitimieren. Auch diesen Schlüssel benötigst Du beim Herstellen der Verbindung. Du solltest dir diesen also auch zwischenspeichern. 

Nachdem Du die Integration über den Button Integration speichern angelegt hast, kannst Du nun im nächsten Schritt die Verbindung zwischen dem Zielshop und dem Quellshop aufbauen. 

Verbindung herstellen

Damit Du Deine Daten aus dem Shopware 6 Quellshop in Deinen Shopware 6 Zielshop migrieren kannst, ist es notwendig eine Verbindung zwischen diesen beiden Shops her zu stellen.
Nach der Installation der Erweiterung öffnest Du die Konfigurationen im Admin des Zielshops unter dem Menüpunkt Einstellungen > Erweiterungen > Migrations-Assistent und baust Dort die Verbindung zu dem Quellshop auf. 

Beim ersten Start öffnet sich der Assistent zum Verbindungsaufbau automatisch. Sollte dieser nicht automatisch starten oder Du ihn geschlossen haben klicke auf Verbindung anlegen um eine neue Verbindung anzulegen.

Name: Hier gibst Du zunächst einen eindeutigen Namen für die Verbindung an. Dies ist vor allem Dann notwendig, wenn du eventuell zu mehreren Shops eine Verbindung aufbauen möchtest. 
Profil: Bezeichnet die Art des Quellsystems. Für eine Migration von einem Shopware 6 Shop wähle hier Shopware 6.6
Schnittstelle: Bezeichnet die Art der Verbindung zwischen den beiden Systemen. Dies ist nur bei dem Profil 5.3 von Bedeutung. Für das Shopware 6 Profil steht Dir hier nur API zur Verfügung.

Migrationsdaten kontrollieren

Nachdem Du alle notwendigen Angaben Deiner Verbindung gemacht hast, wirst Du zur Migrationsübersicht weiter geleitet. Hier hast Du eine Übersicht über die aktuelle Verbindung, kannst wählen, welche Daten migriert werden und Deine bisherigen Migrationen verfolgen. 

Übersicht

Nachdem Du die Verbindung erfolgreich aufgebaut hast, gelangst Du automatisch zur Übersicht der Migration. Hier siehst Du, zu welchem Shopsystem (1) Du aktuell eine Verbindung aufgebaut hast. Zu der Verbindung kannst Du auch gleich einsehen, welches System-Profil und welche Schnittstelle verwendet wurde, wann der letzte Verbindungscheck durchgeführt wurde und wann mit dieser Verbindung die letzte Migration durchgeführt wurde. Über den Button Verbindung bearbeiten (2) kannst Du Änderungen an der aktuellen Verbindung vornehmen.
Über das Dropdown Menü (3) kannst Du eine neue Verbindung anlegen, die Zugangsdaten der aktuellen Verbindung löschen oder zu einer anderen angelegten Verbindung zu wechseln. Außerdem lässt sich über dieses Dropdown Menü die Prüfsummen zurücksetzen, um nestehende Daten erneut zu migrieren.

Mit der Reload-Schaltfläche (4) wird die Übersicht der Migration neu geladen. Somit muss nicht die komplette Seite im Browser neu geladen werden, um eine aktualisierte Anzeige der Daten zu bekommen. 

Datenauswahl

In der Datenauswahl entscheidest Du, welche Daten Du aus Deiner Verbindung in den Shopware 6 Shop migrieren möchtest. Hierzu setzt Du einfach den Haken bei den entsprechenden Daten, die migriert werden sollen. Die Liste zeigt Dir außerdem, ob es sich um Shopdaten oder Erweiterungsdaten handelt und wie viele Datensätze migriert werden.

Erweiterungen: Daten, die aus Erweiterungen von Drittanbietern migriert werden können, werden in dieser Liste mit dem Typ Plugindaten angezeigt.

Datencheck

Die Migration führt nun einen Datencheck durch. Hierbei wird überprüft, ob Daten aus dem alten Shop dem neuen zugeordnet werden können.


Manuelle Zuordnung:

Unter Umständen bieten einige Drittanbieter auch ein eigenes Migrationsprofil für Ihre Erweiterungen Daten an, welches dann zur Migration verwendet werden muss. In diesem Fall erhältst Du alle Informationen zur Migration von dem entsprechenden Anbieter.

Wenn Daten, wie beispielsweise die Standard Zahlungsart, nicht korrekt zugeordnet werden konnten, ist es notwendig diese manuell zuzuordnen. Sobald Du alle nicht zugeordneten Daten manuell zugeordnet hast, kannst Du die Migration über den Button Fortfahren fortsetzen. Wenn alle Daten ohne Probleme zugeordnet werden konnten ist keine manuelle Zuordnung mehr notwendig. In diesem Fall kannst Du die Migration sofort fortfahren. 

Durchgeführte Zuordnung: 

Historie

In der Historie hast Du die Möglichkeit, Dir alle bisherigen Migrationen und Migrationsversuche anzusehen. Hierbei werden die sämtliche Informationen der Migrationen angezeigt. 

Migration durchführen

Wenn Du den Admin-Worker zur Abarbeitung der Aufgaben nutzt, musst Du während des Migrationsvorganges den Tab, in dem die Migration gestartet wurde, bis zum Abschluss der Migration geöffnet lassen, da es sonst zu einem Abbruch der Migration kommen kann. Wir empfehlen im Produktivsystem den Einsatz des CLI-Workers anstelle des Admin-Workers.

Nach dem Du auf Migration starten geklickt hast, wird die Migration in fünf Schritten durchgeführt. Datencheck, Lesen der Daten, Schreiben der Daten, Medien Download, Aufräumen und Indexierung.

Lesen der Daten

In diesem Schritt werden alle Daten aus dem Quell-Shop gelesen, die migriert werden sollen. 
Alle gelesenen Daten erhalten eine Checksumme, mit der bei späteren Migrationen überprüft wird, ob die Daten schon mal migriert wurde. Alle unveränderten Daten werden somit nicht erneut migriert. 

Sollte es dazu kommen, dass Daten nicht migriert werden, obwohl sie sich geändert haben, können die Checksummen zurückgesetzt werden. Näheres dazu erfährst Du im Bereich Migration erneut durchführen.


Schreiben der Daten

Die gelesenen Daten werden nun in Shopware 6 geschrieben. Dabei werden Kundengruppen, Kategorien, Sprachen, Währungen und Verkaufskanäle in diesem Schritt, wenn noch nicht vorhanden, automatisch in Shopware 6 angelegt.

Medien Download

In diesem Schritt werden alle Media-Dateien aus dem Quellshop heruntergeladen und in die Zielshop Medienverwaltung geladen. 

Aufräumen

Bei diesem Schritt werden die geschriebenen Datensätze aus der Datenbanktabelle swag_migration_data gelöscht, welche zuvor zwischengespeichert wurden.

Indexierung

Hierbei werden alle Indexer erneut angestoßen, sodass die migrierten Daten auch von Shopware indexiert werden.

Logbuch

Der Migrations-Assistent ist nun fertig und es erscheint das Logbuch.

Das Logbuch ermöglicht Dir nach der Durchführung der Migration einen schnellen Blick auf mögliche Fehler, Warnungen und Informationen. Wenn Du unten auf den Link "lade das Protokoll herunter." klickst, kannst Du Dir das gesamte Protokoll der Migration herunterladen.

Wenn Du zur Übersicht zurückkehrst, kannst Du Dir das Logbuch auch noch über den Punkt Historie erledigen.

Migration über die Konsole

Wenn Du die Schritte Lesen der Daten, Schreiben der Daten, Medien Download, Aufräumen und Indexierung bereits durchgeführt hast, kannst Du diesen Punkt überspringen.

Beachte, dass die Migration nun über die Message Queue läuft. Diese muss daher entsprechend nach folgender Anleitung eingerichtet worden sein, damit die Warteschlange abgearbeitet wird. Auch müssen zwingend die Cronjobs entsprechend auf deinem System eingerichtet sein.


Die Migration lässt sich nach dem Schritt Datencheck auch über die Konsole (CLI) starten.

Wichtig ist, dass Du die Migration zunächst normal über die Administration startest und nach dem Schritt Datencheck abbrichst. 
Navigiere dann in der Konsole mittels cd /pfad/zu/shopware6/ in das Hauptverzeichnis des Zielshops (dies ist ein Beispielpfad. Wie der Pfad in deinem System heißt, kannst du auch bei deinen Hoster erfragen).

Um sicherzugehen, dass du dich im richtigen Verzeichnis befindest, kannst du in der Konsole den Befehl ls -laausführen. Nun solltest du z.B. folgende Dateien sehen: .env, .env.local, composer.json, composer.lock und auch verschiedene Ordner wie z.B. custom/, public/, vendor/ und noch einige weitere. Wenn du diese siehst, befindest du dich im richtigen Verzeichnis.

 

Führe hier folgenden Befehl aus:

php bin/console migration:start Argument

Die Variable Argument kann folgende Werte enthalten: 
 

basicSettingsGrundeinstellungen und Kategorien (SalesChannel Anlage etc.)
Wird automatisch beim Import anderer DataSelections ausgeführt.
cmsLayouts
customersOrdersAlle Kunden, Bestellungen und Dokumente.
mediaAlle Medien und Ordner.
newsletterRecipientNewsletter-Empfänger
productsAlle Produktdaten und dazugehörigen Entitäten. Ebenfalls dazugehörige Entitäten aus "media".
productReviewsProduktbewertungen
promotionsRabatte & Aktionen
seoUrlsSEO URLs
customerWishlistsMerklisten

Möchtest Du die Migration abbrechen, kannst Du den Befehl php bin/console migration:abort anwenden. Für eine Anzeige des Fortschritts kannst Du den Befehl php bin/console migration:get-progress nutzen. Du kannst Dir den Fortschritt aber auch im Admin ansehen, obwohl Du die Migration über die CLI gestartet hast.

Migration erneut durchführen

Du kannst die Migration beliebig oft erneut durchführen. Bei der ersten Migration erhalten alle migrierten Daten eine Prüfsumme. Anhand dieser Prüfsumme erkennt der Migrations-Assistent, ob Daten migriert werden müssen oder nicht. So wird verhindert, dass Daten doppelt migriert werden und ggf. überschrieben werden. 
Wenn Du eine Migration komplett erneut durchführen möchtest, sodass alle Daten im Zielsystem überschrieben werden, kannst Du die Prüfsummen zurücksetzen. Dies tust Du in der Migrationsübersicht im Bereich Shopsystem über das Dropdownmenü. 
 

War dieser Artikel hilfreich?