Nachdem Du Shopware 6 auf Deinem Server erfolgreich installiert hast, kannst Du mit der Migration von Deinem Shopware 5 Shop beginnen. Hierzu benötigst Du zunächst die Erweiterung SwagMigrationAssistent für Shopware 6, welches Du aus dem Community Store erhälst.
Zudem ist es notwendig in Deinem Shopware 5 Shop, aus welchem Du migrieren möchtest die Erweiterung SwagMigrationConnector zu installieren.
Die nachfolgende Beschreibung des Migrationsprozesses bezieht sich auf den Migrationsassistenten ab Version 13.0.0 der Erweiterung.
Damit Du Deine Daten aus Showare 5 in Deinen Shopware 6 Shop migrieren kannst, muss zunächst eine Verbindung zu Deinem bisherigen Shopware 5 Shop hergestellt werden. Dies startest Du in der Shopware 6 Administration unter dem Menüpunkt Einstellungen > Erweiterungen > Migration.
Solange diese Verbindung zu Deinem Shopware 5 Shop besteht, kannst Du jederzeit Daten aus dem Shopware 5 Shop migrieren.
Klicke dann 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 Shopware 5 Shops eine Verbindung aufbauen möchtest.
Bitte verwende keine Bindestriche im Verbindungsnamen. Die Freitextfelder aus Shopware 5 werden in Shopware 6 als Zusatzfelder mit dem Verbindungsnamen übernommen. Wenn ein Bindestrich vorhanden ist, sorgt dies dafür, dass die Zusatzfelder nicht mehr korrekt in der Storefront dargestellt werden.
Profil: Bezeichnet die Art des Quellsystems. Im Standard wird für die Migration Shopware55 ausgewählt. Drittanbieter können aber auch mit anderen Profilen arbeiten.
Schnittstelle: Bezeichnet die Art der Verbindung zwischen den beiden Systemen. Hier wählst Du API, wenn Du einen entfernten Shop migrieren möchtest, oder Local, wenn sich der zu migrierende Shop auf dem gleichen Server befindet.
Je nach Schnittstelle, die Du im letzten Schritt gewählt hast, erhälst Du nun eine der folgenden Beiden Abfragen.
API:
API-Schlüssel: Hier trägst Du den API Schlüssel Deines Shopware 5 Benutzers ein. Wenn noch keiner angelegt wurde, kannst Du dies in der Benutzerverwaltung von Shopware 5 nachholen.
Benutzername: Hier trägst Du den Benutzernamen Deines Administrators aus Shopware 5 ein. Dies muss der Benutzer sein, für den der o.a. API-Schlüssel zugeordnet wurde. Wichtig ist, dass dieser Benutzer in der Gruppe "local_admins" sein muss.
Shopdomain: Trage hier die Domain deines Hauptshops ein. Achte darauf, anzugeben, ob der Shop eine sichere SSL Verbindung verwendet.
Local:
DB-Host: Trage hier die Host URL Deiner Datenbank ein. Wenn die Datenbank auf dem selben Server installiert ist, kannst Du hier auch localhost eingeben.
DB-Port: Trage hier den Standard Port Deiner Datenbank ein. In der Regel ist dies standardmäßig 3306.
DB-Benutzer: Gebe hier einen Datenbank Benutzer mit Administrationsrechten an.
DB-Passwort: Gebe hier das Passwort zu dem oben angegebenen Datenbank Benutzer an.
DB-Name: Hier trägst Du den Datenbank Namen der Datenbank ein, welche die Daten Deiner Shopware 5 Installation beinhaltet.
Root Verzeichnis: Trage hier den absoluten Pfad zu dem Verzeichnis an, in dem Shopware 5 installiert wurde.
Im Rahmen der Migration wird es dazu kommen, dass einige Metadaten gekürzt werden, da sich der Datenbank Typ von mediumtext auf varchar(255) ändern wird. Diese Werte werden somit nach 255 Zeichen abgeschnitten.
Folgende Werte sind davon Betroffen:
Tabelle | Spalten |
s_articles | description |
s_categories | metadescription metakeywords |
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.
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.
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.
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.
Die Migration führt nun direkt bei der Auswahl der zu migrierenden Daten einen Datencheck durch. Hierbei wird überprüft, ob Daten aus dem alten Shop dem neuen zugeordnet werden können.
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.
Die von Dir durchgeführte Zuordnung kannst Du mit einem Klick auf "Durchgeführte Zuordnung anzeigen" ansehen. Diese wird dann unterhalb der manuellen Zuordnung angezeigt.
In den durchgeführten Zuordnungen kannst Du kontrollieren, ob die automatisch zugeordneten Daten korrekt zugeordnet wurden. Hier kannst Du auch nachträglich Deine Zuordnungen ändern oder auch die automatischen Zuordnungen nachträglich ändern.
Erweiterungen: Daten, die aus Erweiterungen von Drittanbietern migriert werden können, werden in dieser Liste mit dem Typ Plugindaten angezeigt.
Unter Umständen bieten einige Drittanbieter auch ein eigenes Migrationsprofil für Ihre Erweiterungs Daten an, welches dann zur Migration verwendet werden muss. In diesem Fall erhältst Du alle Informationen zur Migration von dem entsprechenden Anbieter.
In der Historie hast Du die Möglichkeit, dir alle bisherigen Migrationen und Migrationsversuche anzusehen. Hierbei werden die sämtliche Informationen der Migrationen angezeigt.
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: Lesen der Daten, Schreiben der Daten, Medien Download, Aufräumen und Indexierung.
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.
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.
In diesem Schritt werden alle Mediadateien aus der alten Shopware 5 Installation heruntergeladen und in die Shopware 6 Medienverwaltung geladen.
Bei diesem Schritt werden die geschriebenen Datensätze aus der Datenbanktabelle swag_migration_data gelöscht, welche zuvor zwischengespeichert wurden.
Hierbei werden alle Indexer erneut angestoßen, sodass die migrierten Daten auch von Shopware indexiert werden.
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.
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 -la
ausfü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:
basicSettings | Grundeinstellungen und Kategorien (SalesChannel Anlage etc.) Wird automatisch beim Import anderer DataSelections ausgeführt. |
customersOrders | Alle Kunden, Bestellungen und Dokumente. |
media | Alle Medien und Ordner. |
newsletterRecipient | Newsletter-Empfänger |
products | Alle Produktdaten und dazugehörigen Entitäten. Ebenfalls dazugehörige Entitäten aus "media". |
productReviews | Produktbewertungen |
promotions | Rabatte & Aktionen |
seoUrls | SEO URLs |
customerWishlists | Merklisten |
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.
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ü.