Das Förderprogramm go-digital läuft am 31.12.24 aussichern Sie sich jetzt die letzte Chance auf 16.500 Euro Förderung >

Shopware 6 Migration von Shopware 5, kostenloses Expertenwissen

Shopware 6 Migration - der ultimative Leitfaden

Shopware 6 Migration von Shopware 5, kostenloses Expertenwissen

Shopware 6 Migration - der ultimative Leitfaden

Das Förderprogramm go-digital läuft am 31.12.24 aussichern Sie sich jetzt die letzte Chance auf 16.500 Euro Förderung >

Kostenloser Leitfaden: Über 40 Seiten geballtes Wissen für eine reibungslose und erfolgreiche Migration von Shopware 5 zu Shopware 6

Die Migration von Shopware 5 zu Shopware 6 kann eine komplexe Aufgabe sein. Unser Leitfaden „In 7 Schritten zur Migration“ bietet Ihnen eine detaillierte und praxisorientierte Anleitung, wie Sie diesen Prozess effizient und erfolgreich bewältigen. Auf über 40 Seiten erfahren Sie alles, was Sie für die Planung, Durchführung und Nachbereitung Ihrer Migration wissen müssen.

Sie benötigen Unterstützung bei der Migration?

Der Leitfaden unterstützt Sie bei der eigenständigen Migration zu Shopware 6 – zeigt aber auch die Komplexität und Probleme auf. Entspannen Sie – und lassen unsere Experten diese Probleme für Sie lösen!

Jahre Agenturerfahrung
0
Shopware Projekte
> 0
Pickware Projekte
> 0

Kostenloser Leitfaden: In 7 Schritten zur Shopware 6 Migration

Kostenloses PDF mit Infos, Checklisten und Tipps und Tricks anfordern

Gerne stellen wir unser Wissen und unsere Erfahrung in einem kostenlosen Leitfaden zur Verfügung. In einem umfangreichen PDF erhalten sie tiefergehende Infos, praktische Tipps und direkt verwendbare Checklisten für Ihre Shopware 6 Migration!

Über 40 Seiten geballtes Wissen mit praxiserprobten Insider-Tipps!

Datenschutz*
 

Ich bin einverstanden auch darüber hinaus gegebenenfalls wichtige Informationen zur Shopware 6 Migration per E-Mail zu erhalten. Ich kann die Zustimmung jederzeit per Klick widerrufen.

Der Support für Shopware 5 endet im Juli 2024
Unser Fahrplan für Ihre Shopware 6 Migration

Wir unterstützen Sie bei der Shopware 6 Migration Ihres Online-Shops. Als erfahrene Shopware Partner Agentur mit einer Vielzahl umgesetzter Projekte und Migration, wissen wir worauf es ankommt. Wir helfen Ihnen angefangen von der Analyse und Vorbereitung, über die Optimierung und Redesign des Shops, bis hin zur Umsetzung in Shopware 6 und finaler Migration unter Beachtung aller SEO-relevanten Strukturen!

Für eine entspannte Showare 6 Migration für Ihren Online-Shop!

shopware@area-net.de

Stellen Sie Ihre Fragen per E-Mail, wir versuchen diese schnellstmöglich zu beantworten.

07162 / 941140

Gerne können Sie uns für eine kostenlose Erstberatung auch per Telefon anrufen.

Online-Termin buchen

Vereinbaren Sie direkt online eine kostenlose Erstberatung per Microsoft Teams.

Shopware 6 Migration von A bis Z

Fragen zur Shopware 6 Migration?

In 7 Schritten zur Shopware 6 Migration – der ultimative Leitfaden

Schritt 1: Was muss ich über Shopware 6 wissen?

Shopware 6 ist ein neues System

Bei Shopware 6 handelt es sich letztendlich um ein neues System. Ein klassisches Update, wie von Shopware 5.6 auf 5.7, ist hier leider nicht möglich. Der neue Shop auf Basis von Shopware 6 muss grundlegend neu aufgesetzt und eingerichtet werden. Am Ende ist es egal – oder abhängig von Ihren Anforderungen – ob Sie sich für Shopware 6 oder auch ein anderes Shopsystem entscheiden. Der Aufwand für die Neuaufsetzung des Shops besteht bei allen Varianten. Wobei Sie natürlich im Shopware-Universum die Unterstützung des Migrations-Assistenten bei der Übernahme der Daten aus dem Shopware 5 Shop haben.

Was kostet Shopware 6?

Immer wieder werden wir mit den neuen Bezahlplänen von Shopware konfrontiert. Ja, die sind deutlich kostenintensiver als noch zu 5er-Zeiten. Aber es gibt auch weiterhin eine kostenlose Community Edition. Alle Shopware-Versionen bestehen aus dem gleichen Quellcode, in den kostenpflichtigen Plänen haben Sie lediglich noch Zugriff auf exklusive Plugins.

Der kleinste, kostenpflichtige Rise-Plan für Shopware 6 beginnt dabei bei 600 Euro im Monat. Aus Kosten-Nutzen-Sicht bietet dieser aber nur wenig Mehrwert zur freien Community Edition. Wenn Sie auf eine kostenpflichtige Shopware-Versionen setzen wollen, dann sollte es am besten gleich der Evolve-Plan sein. Der siedelt sich dann allerdings preislich eher bei der früheren Shopware 5 Enterprise Edition an.

Für die meisten Online-Shops dürfte aber die kostenlose Community Edition völlig ausreichen. Viele der wichtigen Funktionen aus den bezahlten Plänen können dabei deutlich günstiger mit Plugins nachgerüstet werden. Für eine erste Entscheidung haben wir eine übersichtliche Gegenüberstellung der Shopware 6 Community Edition zu den Rise-, Evolve- und Beyond-Plänen für Sie zusammengefasst.

Fazit: Die Shopware 6 Community Edition war, ist und bleibt kostenlos!

Shopware 6 ist technisch komplexer

Die neuen Pläne deuten es bereits an. Shopware 6 fokussiert sich auf größere Shops. Durch die kostenlose Community Edition ist das Shopsystem aber auch für kleinere und mittlere Online-Shops einsetzbar. Dabei profitieren diese von den Anforderungen der großen Shops: Eine moderne Softwarearchitektur, extrem flexible Anpassbarkeit, ein umfangreicher API-basierter Ansatz und ein aktuell gehaltenes Grundsystem.

Damit steigen aber auch die Anforderungen an das Hosting und die technische Grundbetreuung. Ein “One-Click-Install” wie bei Shopware 5 ist in der neuen Version kaum möglich. Funktioniert vielleicht zu Beginn, wird Ihnen aber früher oder später um die Ohren fliegen.

Wenn Sie kein tiefergehendes, technisches Wissen im Shopware 6 Umfeld haben (Symfony, GIT, YAML_Dateien, MySQL vs MariaDB, CLI-Konsole und vieles mehr), macht der Betrieb ohne Agentur keinen Sinn! 

Daten können übernommen werden

Obwohl es sich um ein komplett neues Shopsystem handelt, können folgende Grunddaten über den von Shopware zur Verfügung gestellten Migrationsassistenten übernommen werden:

  • Kategorien
  • Produkte
  • SEO-Urls
  • Kunden
  • Bestellungen
  • Grundlegende Einstellungen/Versandkosten
  • Übersetzungen für oben genannte Daten
 

Theme, Inhalte und teilweise Plugins müssen neu erstellt werden

Nicht übernommen werden kann das Theme und gegebenenfalls damit verbundene Anpassungen. Da sich das komplette Content Management in Shopware 6 verändert und modernisiert hat, müssen zudem alle statischen Seiten und Einkaufswelten (im Shopware 6 Jargon: Erlebniswelten) manuell migriert werden. Manuel migrieren bedeutet in diesem Fall in der Regel neu einpflegen.

Für etliche Shopware 5 Plugins gibt es bereits Nachfolger im Shopware 6 Store, andere Plugin-Funktionalitäten sind im Shopware 6 Standard enthalten. Ob und wie Plugin-Einstellungen und -Daten übernommen werden können, muss im Einzelfall geprüft werden.

Erstes Fazit und Aufwandseinschätzung zur Shopware 6 Migration

Bei Shopware 6 handelt es sich um ein komplett neues System. Ein reines Update von Shopware 5 ist nicht möglich. Individuelle Anpassungen im Layout und den Prozessen müssen für Shopware 6 neu entwickelt werden. Rechnen Sie als Aufwand mindestens ein ähnliches Budget wie für die initiale Einrichtung (mit allen Anpassungen) Ihres Shopware 5 Shops ein.

Alternative: Shopware 5 Support durch safefive

Früher oder später werden Sie um eine Migration zu Shopware 6 oder einem anderen System nicht herumkommen. Sollten Sie aber noch etwas Zeit und auch nach Juli 2024 einen sicheren Shopware 5 Shop benötigen, so bietet die Firma Paddox GmbH unter der Marke “safefive” für eine gewisse Übergangszeit mit der offiziellen Genehmigung der Shopware AG weiterführenden, kostenpflichtigen Support für Shopware 5 an.

Schritt 2: Analyse und Konzeption

Bevor mit der Migration begonnen werden kann, muss der bestehende Shopware 5 analysiert und ein Konzept für die Migration zu Shopware 6 erstellt werden. Im Folgenden erhalten Sie einen kurzen Überblick über eine mögliche Vorgehensweise.

Anforderungen an das Theme/Design

In einem ersten Schritt müssen die Anforderungen an das Theme geklärt werden. Sollten Sie ein Theme aus dem Store verwenden, gibt es gegebenenfalls einen Nachfolger für Shopware 6, das sich am Shopware 5 Theme orientiert.

Auf der anderen Seite bietet die Migration zu Shopware 6 auch die Chance das Design des Shops zu modernisieren und zu optimieren. Schauen Sie also, welche Funktionen und Anpassungen Sie aktuell in Shopware 5 am Theme vorgenommen haben. Als Beispiel:

  • Anpassungen am Header und Megamenü
  • Anpassungen am Footer
  • Eigene Schriftart, Farben und Hintergründe
  • Anpassungen am Produktlisting
  • Anpassungen auf der Produktdetailseite
  • Anpassungen im Checkout-Prozess

Wenn Sie diese Anforderungen definiert haben, können Sie verschiedene Themes aus dem Store für Shopware 6 prüfen und testen. Können Sie mit diesen Ihre Anforderungen abdecken, oder müssen Sie gegebenenfalls individuelle Anpassungen vornehmen?

Bedenken Sie allerdings, dass jede individuelle Anpassung auch spätere Updates gegebenenfalls erschwert.

Analyse der eingesetzten Plugins

Mit den Jahren sammeln sich oftmals viele Plugins an, die gar nicht mehr aktiv verwendet werden. Nutzen Sie die Migration um auszumisten. Schauen Sie sich die installierten Plugins an und streichen die von der Liste, die definitiv nicht mehr benötigt werden.

Für die anderen legen Sie sich eine Tabelle an. In dieser notieren Sie sich den Namen des Plugins und ob es sich um eine Individualentwicklung oder ein Store-Plugin handelt. Bei einem individuellen Plugin, erfassen Sie kurz die Funktionalitäten. Bei einem offiziellen Plugin aus dem Store notieren Sie, ob es einen Nachfolger für Shopware 6 gibt, ob die Funktion bereits im Shopware 6 Standard enthalten ist oder gegebenenfalls individuell umgesetzt werden muss. Sollte es einen Nachfolger im Shopware 6 Store geben, vermerken Sie am besten gleich die Mietgebühr. Damit erhalten Sie bereits frühzeitig einen Überblick über die zukünftigen, monatlichen Kosten.

Sollten über die eingesetzten Plugins Daten erfasst werden (z.B. über Zusatzfelder), muss die Migration dieser Daten im Einzelfall geklärt werden. Zusatzfelder werden im Rahmen der Standard-Migration übernommen, müssen aber gegebenenfalls im Nachgang per SQL-Skript auf die neuen Shopware 6 Strukturen übertragen werden. Manchmal bieten die Plugin-Hersteller aber auch eigene Migrationsprozesse an.

Viele Themen aus der Analyse können Sie selber (am besten) entscheiden. Aber bereits in diesem Stadium ist eine professionelle Beratung hilfreich, die die Möglichkeiten von Shopware 6 im Detail aufzeigen kann. Über unsere kostenlose Checkliste erhalten Sie übrigens kostenlos einen ersten Überblick.

Gibt es externe Schnittstellen und Anbindungen?

Erfassen Sie, welche externen Schnittstellen und Anbindungen für Ihren Shopware 5 Shop bestehen. Dazu gehört zum Beispiel die Anbindung an ein ERP-System oder eine Warenwirtschaft, aber auch Schnittstellen zu Amazon, eBay, Google Shopping oder sonstigen externen Plattformen.

Sollten Plugins dafür genutzt werden, gilt die gleiche Vorgehensweise wie im vorherigen Abschnitt beschrieben. Bei Middleware-Systemen für die Anbindung an SAP, Lexware oder ähnliches, sollten Sie auf jeden Fall zuvor das Gespräch mit dem entsprechenden IT-Partner suchen.

Im Falle einer Magnalister-Anbindung zu Amazon, Otto, eBay und Co. ist die Migration relativ problemlos möglich. Nach der Konfiguration der Anbindungen in Shopware 6 im Magnalister-Plugin, werden die bereits synchronisierten Artikel, Bestellungen und Kunden normalerweise problemlos erkannt. Vorsicht ist bei der Nutzung von Varianten angesagt – hier müssen Sie zwingend den Haken bei “Shopware 5 Master-SKU verwenden” in der Shopware 6 Magnalister-Konfiguration verwenden.

Individuelle Anpassungen und Zusatzfelder

Machen Sie sich vorab Gedanken, welche individuellen Anpassungen und Zusatzfelder in Ihrem Shopware 5 Shop implementiert wurden. Notieren Sie diese ebenfalls schriftlich, um für sich oder eine Agentur den Überblick zu haben, was entsprechend für Shopware 6 nachgezogen werden muss.

Payment und Versandbedingungen

Klären Sie ab, welche Payment-Anbieter Sie nutzen und ob Sie diese auch in Shopware 6 weiterverwenden wollen. In der Regel bieten alle relevanten Anbieter auch Plugins für Shopware 6  an.

Zudem sollten Sie die Versandbedingungen und -kosten schriftlich definieren. Die Versandlogik in Shopware 5 unterscheidet sich doch deutlich in Shopware 6. Probleme gibt es vor allem bei individuellen Formeln für die Versandkostenberechnung. Ansonsten werden die Versandkosten über die Migration zwar übernommen, es macht aber oftmals Sinn diese im Anschluss zu bereinigen, bzw. gegebenenfalls auch neu einzurichten.

Je besser Sie hier schriftliche Vorarbeit geleistet haben, je einfacher haben Sie es nachher bei der Umsetzung! Auch hier ist oftmals die Unterstützung eines Shopware 6 Spezialisten hilfreich.

Sonderfall Pickware ERP

In der Shopware 5 Professional Edition war das Pickware ERP kostenlos integriert. In Shopware 6 ist Pickware in kostenpflichtige Plugins ausgelagert. Der Vorteil dabei ist aber, dass Pickware auch in der Shopware 6 Community Edition installiert und genutzt werden kann.

Überlegen Sie sich auch hier, welche Funktionen Sie in Pickware bisher genutzt haben und mit welcher Pickware-Version Sie diese in Shopware 6 abbilden können. Für Shopware 6 bietet die Pickware GmbH ein Standard-Plugin und eine Pro-Version an.

Gerne unterstützen wir Sie als zertifizierte Pickware Partner Agentur beim Vergleich der beiden Versionen und welche für Sie  sinnvoll ist.

Die Pickware-Daten können dabei nicht über den Shopware 6 Migrationsassistenten übernommen, sondern müssen manuell migriert werden. Entweder folgen Sie den Anweisungen der Pickware GmbH oder setzen auch hier auf eine spezialisierte Shopware und Pickware Partner Agentur.

Welche Shopware 6 Version?

Und zum Abschluss müssen Sie für sich klären, für welche Shopware 6 Version Sie sich entscheiden wollen. Reicht Ihnen die kostenlose Community Edition oder benötigen Sie einen kostenpflichtigen Plan wie Shopware Rise oder Evolve. Eine Übersicht zu den Funktion und dem Vergleich der CE-Edition zu Rise und Evolve haben wir ebenfalls für Sie bereitgestellt.

Kurzfassung des Vergleiches: Oftmals reicht die kostenlose Community Edition völlig aus, die meisten Funktionen der kostenpflichtigen Pläne können günstiger mit Plugins nachgerüstet werden. Der kleinste, kostenpflichtige Rise-Plan  (ab 600 Euro/Monat) bietet dabei wenig Mehrwert gegenüber der CE-Version. Wenn dann sollten Sie direkt auf den Evolve-Plan gehen, der allerdings kostentechnisch eher im Bereich der Shopware 5 Enterprise Edition angesiedelt ist.

Tipp für Shopware 5 Professional Kunden: Sollten Sie ein Kunde mit einer kostenpflichtigen Pro-Version von Shopware 5 sein, kontaktieren Sie am besten direkt das Shopware Sales Team. Denn in der Regel erhalten Sie als Bestandskunde teilweise stark rabattierte Angebote für die kostenpflichtigen Shopware 6 Pläne.

Schritt 3: Wie richte ich eine Staging-Umgebung für Shopware 6 ein?

Staging-Umgebung einrichten

Richten Sie bei Ihrem Provider oder Server eine separate Hostingumgebung für Ihren neuen Shopware 6 Shop ein. Sie sollten Servereinstellungen wie die PHP-Version getrennt von Ihrem bestehenden Shop einstellen können, da sich die Anforderungen teilweise stark zu Shopware 5 unterscheiden.

In der Regel verwenden Sie für die Staging-Umgebung eine eigene Subdomain wie beispielsweise shopware6.ihre-domain.de – denken Sie auch daran, diese entsprechend zu schützen (HTTP-Auth, IP-Sperre, Wartungsmodus oder ähnliches).

Achtung: Die Systemvoraussetzungen für Shopware 6 sind deutlich komplexer als die von Shopware 5. Nur weil ihr bestehender Shop sauber auf Ihrer aktuellen Umgebung läuft, muss das noch lange nicht für die aktuelle Shopware-Version gelten.

Klären Sie frühzeitig mit Ihrem Provider ab, ob dieser Shopware 6 vollumfänglich unterstützt (z.B. GIT auf dem Server). Die genauen Systemvoraussetzungen finden Sie in der offiziellen Shopware-Dokumentation.

Am besten Sie nutzen einen von Shopware empfohlenen Provider, wie z.B. Mittwald, Profihost, Timme Hosting, enerSpace oder maxcluster.

Als Mittwald Partner bieten wir Ihnen Shopware 6 optimierte und skalierbare Hosting-Pakete ab 35 Euro/Monat an.

Geheimtipp: Laut Systemvoraussetzungen werden als Datenbank MySQL und MariaDB unterstützt. Nutzen Sie aber möglichst MySQL, denn mit MariaDB gibt es aus Erfahrung – vor allem bei der Migration – immer wieder Probleme.

Staging-Umgebung im Shopware-Account anlegen

Bevor Sie Shopware 6 einrichten und Plugins installieren können, müssen Sie die Staging-Umgebung – wie für jeden anderen Shop auch – im Shopware-Account anlegen. Dafür gibt es verschiedene Möglichkeiten.

  1. Neuen Shop registrieren
    Wenn Sie lediglich die kostenlose Shopware 6 Community Edition nutzen möchten, können Sie einfach einen neuen Shop mit der Domain zur Staging-Umgebung (z.B. shopware6.ihre-domain.de) anlegen. Diese können Sie dann später in die Live-Domain umbenennen. Plugins können für einen Monat getestet werden.
  2. Migrationsumgebung anlegen
    Sollten Sie von einer Shopware 5 Pro-Version auf einen der Shopware 6 Bezahlpläne migrieren, müssen Sie zwingend eine Migrationsumgebung über Ihren Shopware-Account anlegen. Dafür gibt es im Shopware-Account innerhalb Ihres Shopware 5 Shops einen entsprechenden Button. Ein Vorteil ist, dass Ihnen während der Einrichtung eine Auflistung aller Plugins präsentiert wird. In dieser sehen Sie, ob es ein Nachfolger-Plugin gibt oder ob die Funktion eventuell im Standard enthalten ist. Zudem können Sie über diesen Weg direkt einen Plan buchen – bzw. bekommen gegebenenfalls ein entsprechend attraktives Angebot als Bestandskunde. Ein weiterer Vorteil: Plugins können während der Migration ohne zeitliches Limit kostenlos getestet werden.
  3. Wildcard-Umgebung anlegen
    Sollten Sie die Migration über eine Agentur vornehmen, kann diese für auch eine Wildcard-Umgebung anlegen. Diese läuft in der Regel über eine spezielle Domain der Agentur. Der Vorteil der Wildcard-Umgebungen ist aber u.a. ebenfalls, dass Plugins unbegrenzt getestet werden können.

Shopware 6 einrichten

Oftmals wird Ihnen bei entsprechenden Providern Shopware 6 gleich “fertig” mitinstalliert. Läuft dann zwar, ist aber weit weg von sauber konfiguriert. Um Shopware 6 wirklich produktiv nutzen zu können, müssen etliche (technische) Konfigurationen vorgenommen werden. Und spätestens hier wird es ohne tiefergehendes Technikverständnis schwierig.

Als ersten Ansatzpunkt installieren Sie am besten das Plugin “Tools” von den Friends of Shopware. Darin werden die wichtigsten Fehlkonfigurationen und Optimierungsmöglichkeiten mit weiterführenden Infos aufgelistet, zum Beispiel:

  • Admin-Worker deaktivieren
  • PHP Memory-Limit – hier sind vor allem für die Migration mindestens 4 GByte empfehlenswert.

Auf die grundlegende Shopware 6 Konfiguration gehen wir an dieser Stelle nicht weiter ein, möchten aber einige Plugins für eine erfolgreiche Migration empfehlen:


Fazit: Wenn Sie nicht wissen, was es mit der .env.local auf sich hat, was YAML bedeutet oder wie der Admin-Worker deaktiviert wird, überlassen Sie die Konfiguration einer spezialisierten Agentur. So ist zum Beispiel ein korrekt eingestelltes Memory-Limit nur ein winziger Baustein für eine erfolgreiche Migration.

Sicherung Grundsystem

Ein kleiner aber feiner Tipp bevor es richtig ans Eingemachte geht: Sichern Sie sich Ihren perfekt eingerichteten Shopware 6 Shop. Denn es kann immer mal vorkommen, dass es Ihnen während der Migration etwas zerhaut. Mit der Sicherung kommen Sie immer wieder zum Nullpunkt und können die Migration neu starten.

Production-Mode aktivieren!

Ein letzter Tipp – der es in sich hat. Oftmals werden Staging-Umgebungen im sogenannten Development-Modus konfiguriert, um leichter Debugging oder Fehlersuche betreiben zu können.

Das ist aber gerade für die Migration eine ganz schlechte Option. Denn die zusätzliche Protokollierung nimmt viel Platz an Speicher und Performance ein.

Stellen Sie Ihren Shopware 6 Shop vor der Migration also zwingend in den Production-Mode. Sie wissen schon – env.local und so. Wenn nicht, wissen Sie ja zumindest wie Sie uns erreichen können 😉

Schritt 4: Shopware 5 prüfen und bereinigen

Ein wichtiger Punkt ist die Aufbereitung der Daten in Shopware 5 für die Migration. Out-of-the-Box kann die Migration eines relativ neu aufgesetzten Shopware 5 Shops vielleicht problemlos durchlaufen. Aber gerade bei älteren, gewachsenen Shops führt die Migration einer nicht aufbereiteten Shopware 5 Datenbasis zu vielen Fehlern. Diese sind im Nachgang nur mit viel Aufwand zu analysieren und zu beheben.

Je sauberer die Shopware 5 Datenbasis ist, je weniger Probleme treten bei der Migration auf.

Technische Voraussetzungen

Ganz zu Beginn  müssen natürlich die technischen Voraussetzungen stimmen. Auf Seiten Shopware 6 müssten diese bereits im Rahmen der Installation und Einrichtung (siehe oben) passen. Folgende Tipps sollten sie aber auf jeden Fall noch einmal prüfen:

  • Sind beide Shops im Produktiv-Modus?
  • Sind Memory Limit und Skriptlaufzeit bei beiden Shops entsprechend hoch eingestellt?
  • Ist der Shopware 5 Shop während der Migration öffentlich erreichbar (API und Medienpfade)?

Achtung: Ihre Shopware-Version muss mindestens 5.4.0 aufweisen. Ältere Versionen werden bei den Migrationen nicht unterstützt. In diesen Fällen müssen Sie zuerst Shopware auf mindestens 5.4 aktualisieren

Probleme in der Datenbasis erkennen

Sind die technischen Grundvoraussetzungen erfüllt, muss eine Menge an potentiellen Problemen in der Shopware 5 Datenbasis geprüft und vor der Migration auch behoben werden. Anbei erhalten Sie eine nicht abschließende Checkliste der zu prüfenden Daten.

ProblemLösung
Bestellungen ohne Kunden (Kunde wurde gelöscht)Dummy-Kunde anlegen und Bestellung zuordnen
Bestellungen ohne Versandarten(Dummy-)Versandart anlegen und Bestellung zuordnen
Bestellungen ohne Zahlungsarten(Dummy-)Zahlungsart anlegen und Bestellung zuordnen
Liefer- oder Rechnungsadressen ohne AnredeAnrede ergänzen/setzen
Liefer- oder Rechnungsadressen ohne Vorname/NachnahmeVornanme/Nachname ergänzen oder mit Dummy-Wert (z.B. ‘-‘) befüllen
Kundenadressen ohne AnredeAnrede ergänzen/setzen
Kundenadressen ohne Vorname/NachnahmeVornanme/Nachname ergänzen oder mit Dummy-Wert (z.B. ‘-‘) befüllen
Physisch nicht mehr vorhandene BestelldokumenteBestelldokumente löschen oder Dummy-PDF hinterlegen
Physisch nicht mehr vorhandene BilderBilderverknüpfung löschen oder Dummy-Bild/Platzhalter hinterlegen

Das sind die wichtigsten Fehlerquellen, die zu untersuchen sind. In unserer Shopware Agentur setzen wir dafür – und für die spätere Behebung – entsprechende Skripte ein, die diesen Vorgang mehr oder weniger automatisieren.

Sicherung der Shopware 5 Datenbank erstellen

Bevor Sie die oben genannten Bereinigungen durchführen, sollten Sie zwingend eine Datensicherung durchführen. Das sollte aber bei direkten Datenbank-Interaktionen immer der Standard sein.

Datenbank bereinigen und fehlende Daten in Shopware 6 anlegen

Zum Schluss dieses Schrittes bereinigen Sie wie oben beschrieben die Daten. Damit haben Sie zumindest eine einigermaßen saubere Shopware 5 Datenbasis, die das Risiko auf Migrationsfehler deutlich minimiert.

Zudem müssen Sie für folgende Entitäten, für die Datensätze in Shopware 6 fehlen, diese entsprechend im neuen System anlegen. Die Einträge können Sie dann vor der eigentlichen Migration in einem Mapping den Datensätzen aus Shopware 5 zuweisen. Prüfen Sie also, für welche der folgenden Entitäten es keine passenden Datensätze in Shopware 6 gibt und legen diese dort manuell an:

  • Versandkosten
  • Zahlungsarten
  • Länder
  • Währungen

Shopware 5 API-Schlüssel erstellen

Die Migration kann direkt über einen Datenbankzugriff und über die SW5-API erfolgen. Wir empfehlen den zweiten Weg über die API. Dazu müssen Sie vorab einen Benutzer mit Administrationsrechten in Shopware 5 vorbereiten. Öffnen Sie den gewünschten Benutzer in der SW5-Benutzerverwaltung und aktivieren den API-Zugriff. Merken Sie sich den API-Schlüssel – diesen müssen Sie im nächsten Schritt in Shopware 6 als Verbindungsparameter eintragen.

Schritt 5: Erste Migration durchführen

Verbindung anlegen

Nun ist es endlich soweit. Quell- und Zielsystem sind vorbereitet wir können mit der Migration starten. Installieren Sie im ersten Schritt in Shopware 6 den Migrations-Assistent und in Shopware 5 den entsprechenden Connector.

Im zweiten Schritt müssen Sie in Shopware 6 eine Verbindung zu Shopware 5 anlegen. Dafür empfehlen wir eine API-Verbindung zu verwenden – der Shopware 5 Shop mit API-Zugang und Bildquellen muss öffentlich erreichbar sein. Tragen Sie den Benutzernamen eines Shopware 5 Administrators mit dem dazugehörigen API-Schlüssel ein.

Allgemeine Informationen und grundlegende Migrations-Dokumentation finden Sie auf in der offiziellen Shopware-Dokumentation zur Migration.

Migration durchführen

Im Anschluss können Sie die erste Migration starten. Nach einer Datenprüfung müssen einmalig bestimmte Mappings vorgenommen werden:

  • Zahlungsarten
  • Versandarten
  • Anreden

Aus diesem Grund ist es sinnvoll, fehlende Daten in Shopware 6 bereits im Voraus anzulegen. Alte Zahlungsarten aus Shopware 5 – die nicht mehr verwendet werden – sollten Sie beispielsweise trotzdem noch als manuelle Zahlungsart in Shopware 6 anlegen und deaktivieren. So werden auch bei alten Bestellungen zur Nachverfolgung die richtige Zahlungsarten angezeigt.

Nachdem alles erledigt wurde, kann der eigentliche Migrationsprozess gestartet werden – und sollte danach gleich wieder beendet werden. Beendet werden?

Ja, denn bei der Migration können größere Datenmengen anfallen, die sich besser über die Konsole handeln lassen. Brechen Sie die erste Migration also ab und starten Sie diese über die Konsole neu:

php bin/console migration:migrate Argument

Als Argument können Sie die gewünschten Entitäten – analog zur Admin-Oberfläche -angeben. Mehrere Angaben werden mit Komma getrennt.

  • 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

Im besten Fall läuft die Migration ohne Fehler durch und alle Daten werden erfolgreich zu Shopware 6 übertragen. Das ist aber leider in den wenigsten Migrationen (vor allem bei gewachsenen Shopware 5 Umgebungen) der Fall. Meistens läuft es auf eine mehr oder weniger umfangreichere Detektivarbeit hinaus.

Fehleranalyse – wichtige Migrationstabellen

Fehler in der Migration lassen sich über die entsprechenden Logdateien der Migration auslesen. Diese stehen Ihnen über den Administrationsbereich in der Migrationshistorie als Download ur Verfügung.

Zielführender ist aber meistens die Analyse der entsprechenden Migrationstabellen direkt in der Datenbank. Daraus können mit etwas Aufwand die meisten, bis alle Fehler analysiert und letztendlich behoben werden.

swag_migration_connection und swag_migration_run
Das sind die grundlegenden Tabellen für die Migration. In swag_migration_connection werden die einzelnen Verbindungen gespeichert, meistens steht hier nur ein Datensatz zu Ihrer Shopware 5 Instanz. Zu jeder Verbindung können multiple Migrationen durchgeführt werden. Dabei werden immer nur die Änderungen zu Shopware 5 migriert. Diese Durchläufe werden in der Tabelle swag_migration_run gespeichert. 

Orientieren Sie sich am besten am Timestamp created_at, um den aktuellen/letzten Durchlauf zu finden. Notieren Sie sich aus beiden Tabellen die jeweiligen IDs der aktuellen Connection und des aktuellen Runs. Diese werden Sie bei weiteren Analysen benötigen.

Erster heißer Tipp zu Premappings: In der Connections-Tabelle werden die zuvor angelegten Premappings in einem JSON-Feld gespeichert. Es kann aber manchmal sein, dass diese nicht übernommen werden und sich daraus dann eine Menge an Fehlern ergeben. Prüfen Sie also am besten vorab in diesem Datenfeld, ob die erstellen Mappings auch alle wirklich vorhanden sind.

swag_migration_data
In dieser Tabelle stehen alle Datensätze/Rohdaten für einen Durchlauf. Dort sollte also anhand der run_id folgende Felder überprüft werden:

  • convert_failure = 1
    Die Datensätze von Shopware 5 konnten nicht zu Shopware 6 konvertiert werden
  • write_failure = 1
    Die Datensätze wurden konvertiert, konnten aber nicht final in die Datenbank geschrieben werden aufgrund z.B. fehlender Mappings

Neben der run_id kann zusätzlich auf die gewünschte Entität, die untersucht werden soll, gefiltert werden. Schauen Sie sich bei Fehlern das Feld raw an und prüfen z.B. anhand der Kundennummer (bei Kunden), ob der Kunde in der Datenbank/Administration in Shopware 6 zu finden ist. Wenn ja, alles gut.

Wenn nein, ist die Tabelle swag_migration_logging Ihr Freund.

Heißer Tipp 2: Installieren Sie das kostenlose Adminer-Plugin oder laden Sie Adminer manuell in das public-Verzeichnis Ihres Shop. Damit haben Sie einen relativ einfachen Zugriff auf die Datenbank. Adminer unterstützt Sie zudem bei der einfachen Suche nach UUIDs. Bei manuellen SQL-Anfragen müssen die UUIDs-Zeichenketten immer in die binäre DB-Form umgewandelt werden:

SELECT * FROM swag_migration_data WHERE run_id = UNHEX('018E3D1D6B4172939014038BCAA0F813')

swag_migration_logging

Hier werden Fehler und Hinweise zu den entsprechenden Datensätzen gespeichert.  Es besteht leider nicht immer eine direkte Verbindung zur swag_migration_data. Hier hilft manchmal nur Detektivarbeit und sich Schritt für Schritt zu einer Fehlermeldung zu hangeln.

  1. Prüfen Sie ob es einen Datensatz swag_migration_logging.source_id = swag_migration_data.id gibt 
  2. Prüfen Sie ob es einen Datensatz swag_migration_logging.source_id = swag_migration_data.mapping_id gibt 

Sollten Sie in beiden Fällen zu keinem Ergebnis kommen, können Sie noch prüfen ob es zu der SW5-Id des Datensatzes einen Eintrag in der Logging-Tabelle gibt. Suchen Sie sich dazu im Feld swag_migration_logging.raw die ID des SW5-Datensatzes heraus und testen sie folgende SQL-Anweisung:

SELECT *, HEX(`id`) AS `id`, HEX(`run_id`) AS `run_id` FROM `swag_migration_logging` WHERE `run_id` = UNHEX('RUN_ID') AND `description` LIKE '%\"ID\"%'

Alternativ können Sie natürlich auch bei der Logging-Tabelle starten und ausgehend von Fehlermeldungen (level = error) die Quelle in swag_migration_data suchen. In beiden Fällen wird es aber ohne Erfahrung und ohne einen sicheren Umgang mit Datenbanken schwierig werden, eine komplett erfolgreiche Migration durchzuführen.

swag_migration_mapping
Dort steht das Mapping jedes Datensatzes von Shopware 5 zu Shopware 6 für jede Connection, also über alle Runs. Falls nach einer Fehlerbehebung immer noch Datensätze fehlen, können hier die Checksummen für diese Entität zurückgesetzt werden. Die Datensätze werden dann bei einem erneuten Durchlauf noch einmal komplett migriert/geschrieben.

UPDATE swag_migration_mapping SET checksum = NULL WHERE connection_id = UNHEX('CONNECTION_ID') and entity = 'order'

Schritt 6: Shop anpassen und testen

Sollte die erste Migration erfolgreich sein, können Sie mit den migrierten Daten arbeiten und Ihren Shop entsprechend anpassen.

Unter anderem sollten folgende Schritte durchgeführt werden.

  • Theme installieren und anpassen
  • Shop konfigurieren und anpassen
  • E-Mail-Flows und -Templates anpassen
  • Wenn benötigt, Dokumente entsprechend anpassen
  • Nummernkreise auf Shopware 5 Format anpassen
  • Plugins installieren und einrichten
  • Administration und Frontend durchtesten
  • Testbestellungen durchführen

Heißer Tipp: Sollte die Shopware 6 Instanz auf einem neuen Server liegen, passen Sie vor dem Go-Live die TTL (Time-To-Live) Ihrer Domain in Ihren DNS-Einstellungen an. Dieser Wert definiert wie lange der entsprechende DNS-Eintrag gültig ist, bzw. im DNS-Cache vorgehalten wird. Setzen Sie diesen auf einen möglichst kleinen Wert (z.B. 15 Minuten), damit geht die Umstellung der Domain auf die neue IP später relativ schnell.

Ansonsten müssen Sie und Ihre Kunden, je nach TTL, teilweise bis zu einem Tag warten, bis die DNS-Umstellungen überall aktualisiert sind und Ihr neuer Shop auch erreicht werden kann.

Schritt 7: Go-Live

Ihr neuer Shopware 6 ist durchgetestet. Jetzt geht es an die finale Umstellung. Setzen Sie sich dafür am besten einen Zeitraum, in dem möglichst wenig Betrieb auf Ihrem Shop ist und informieren Sie Ihre Kunden bestenfalls über eventuelle kurze Ausfallzeiten des Shops.

Wartungsmodus aktivieren

Um während der finalen Umstellung Dateninkonsistenzen zu vermeiden, setzen Sie beide Shops unbedingt in den Wartungsmodus.

Testdaten löschen

Löschen Sie vor der finalen Migration alle Testdaten. Dies betrifft vor allem Kunden und Bestellungen, die am besten manuell über die Datenbank gelöscht werden müssen. Folgende Tabellen müssen bereinigt werden

  • documents
  • orders
  • customers

Entsprechend verknüpfte Untertabellen werden dabei automatisch mitgelöscht. Sie erhalten am Ende ein sauberes System für die finale Migration.

Finale Migration durchführen

Jetzt gilt es die Änderungen aus dem Shopware 5 Shop final zu Shopware 6 zu migrieren. Starten Sie daher also einen neuen Durchlauf und wählen die gewünschten Entitäten. Am besten haben Sie die Artikel bereits vorher (1 Woche) noch einmal migriert und müssen nun nur noch folgende Änderungen migrieren:

  • Kunden
  • Bestellungen
Achtung: Bei jeder Migration werden Änderungen am Verkaufskanal (z.B. zugewiesenes Theme) und in Zahlungsarten/Versandarten teilweise wieder zurückgesetzt. Prüfen Sie nach der Migration, ob noch alles für den neuen Shop passt.
 

Nummernkreise zurücksetzen

Ganz wichtig und oft vergessen. Um durchgängige Kunden-, Bestell- und Rechnungsnummer zu erhalten, müssen Sie die Nummernkreise der Testdaten wieder zurücksetzen. Suchen Sie sich aus folgenden Daten die jeweils letzte Nummer heraus:

  • Kunden
  • Bestellungen
  • je Dokument (Rechnung, Lieferschein, etc.)

Gerade bei Bestellungen kann das etwas schwierig werden. Entweder gehen Sie hier direkt über die Datenbank oder installieren sich (testweise) das Plugin Belegübersicht aus dem Shopware Store.

Für jede oben genannte Entität gehen Sie dann abschließend folgende Schritte durch:

  • Tabelle number_range_state leeren
  • Unter Einstellungen->Nummernkreise den jeweils nächsten Wert manuell eintragen

Finale Umstellungen

Wenn alles erledigt ist, können Sie Ihren neuen Shopware 6 Shop live schalten. Je nach Migrationsumgebung sind dafür unterschiedliche Schritte erfolgreich – diese sollten Sie am besten vorab definieren und festlegen:

  • DNS-Umtrag der Domain auf neuen Server
  • Shopware-Account umstellen
    • entweder Migrationsumgebung abchließen oder
    • die Domains der Shops entsprechend umbenennen
  • Plugins gegebenenfalls final lizenzieren
  • Shopware 6 final auf neue Domain umstellen
    • APP_URL in .env.local
    • Domains in den Verkaufskanälen entsprechend anpassen
    • Lizenzdomain in den Einstellungen anpassen
    • Cache am besten leeren

Testbestellung und Go-Live

Führen Sie vor dem finalen Go-Live sicherheitshalber noch einmal ein paar Testbestellungen in verschiedenen Szenarien durch. Passt alles können Sie den Shopware 6 Shop final freischalen und den Wartungsmodus wieder deaktivieren.

Sobald die DNS-Umstellungen überall durch sind, ist der neue Shop von überall für Ihre Besucher erreichbar. Herzlichen Glückwunsch.

Schlussbemerkung

Wir haben an dieser Stelle versucht möglichst detaillierten Einblick in den Migrationsprozess zu geben. Da dieser aber – wie Sie sicherlich bemerkt haben – durchaus einen gewissen Komplexitätsgrad erreicht, können wir nicht auf alle Einzelheiten und Fälle eingehen.

Und wenn Sie das ganze dann doch an Ihre Grenzen bringt, unterstützen wir Sie als Shopware Agentur gerne bei der erfolgreichen und entspannten Migration zu Shopware 6.

Das sagen unsere Kunden zu unserem Shopware Support

AREA-NET GmbH
Werbeagentur, Internetagentur und App Agentur
Öschstraße 33 | 73072 Donzdorf | Kreis Göppingen