{"id":13375,"date":"2023-06-19T07:22:49","date_gmt":"2023-06-19T07:22:49","guid":{"rendered":"https:\/\/www.bay20.com\/?p=13375"},"modified":"2025-05-14T16:03:01","modified_gmt":"2025-05-14T10:18:01","slug":"shopware-5-nach-shopware-6-migrationstipps","status":"publish","type":"post","link":"https:\/\/www.bay20.com\/de\/shopware-5-nach-shopware-6-migrationstipps\/","title":{"rendered":"Tipps zur Migration von Shopware 5 auf Shopware 6"},"content":{"rendered":"\n<p>Die Umstellung von Shopware 5 auf Shopware 6 kann eine Herausforderung darstellen, aber mit der richtigen Planung und Ausf\u00fchrung kann sie nahtlos vollzogen werden. Hier sind einige hilfreiche Tipps, um den Prozess zu vereinfachen:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wichtige Tabellen f\u00fcr die Fehleranalyse<\/h2>\n\n\n\n<p>Neben den umfangreichen Protokolldateien gibt es zus\u00e4tzliche Datenbanktabellen, die Aufzeichnungen \u00fcber Fehler und Fehlerhinweise w\u00e4hrend des Migrationsprozesses enthalten. Die Tabelle mit dem Namen <strong>\u201eswag_migration_logging\u201c<\/strong> erm\u00f6glicht es Ihnen beispielsweise, Filter auf die Fehler anzuwenden, entweder auf der Grundlage ihres Niveaus oder der jeweiligen Einheit, bei der Probleme auftreten.<\/p>\n\n\n\n<p><strong>Andere Tabellen in der Datenbank:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>swag_migration_mapping<\/strong><\/li><li><strong><strong>swag_migration_media_file<\/strong><\/strong><\/li><li><strong>swag_migration_data<\/strong><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Anregung: Migration umfangreicher Datenmengen \u00fcber die Konsole<\/h2>\n\n\n\n<p>Wenn Sie viele Daten in Ihrem Quellspeicher haben oder wenn Sie die Migration ohne Unterbrechung Ihrer Arbeit durchf\u00fchren m\u00f6chten, empfehlen wir Ihnen, die Konsole (CLI) f\u00fcr die Migration zu verwenden. Sobald Sie den Schritt \u201eDatenpr\u00fcfung\u201c abgeschlossen haben, k\u00f6nnen Sie die Migration \u00fcber die CLI starten.<\/p>\n\n\n\n<p>Um die notwendigen Schritte zu befolgen, starten Sie die Migration wie gewohnt \u00fcber die Verwaltungsoberfl\u00e4che. Wenn Sie jedoch die Phase \u201eDatenpr\u00fcfung\u201c erreicht haben, sollten Sie die Migration abbrechen. Rufen Sie dann die Konsole auf und suchen Sie das Hauptverzeichnis des Zielspeichers. Stellen Sie dabei sicher, dass Sie sich \u00fcber dem \u00f6ffentlichen Ordner befinden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"980\" height=\"71\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2023\/05\/image-73-980x71.png\" alt=\"\" class=\"wp-image-13515\" srcset=\"https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73-980x71.png 980w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73-300x22.png 300w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73-800x58.png 800w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73-768x56.png 768w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73-1000x72.png 1000w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-73.png 1352w\" sizes=\"auto, (max-width: 980px) 100vw, 980px\" \/><\/figure>\n\n\n\n<p>Bitte f\u00fchren Sie den folgenden Befehl aus:<\/p>\n\n\n\n<p><strong>php bin\/console migration:migrate<\/strong> [Argument]<\/p>\n\n\n\n<p>Die Variable<strong> Argument<\/strong> kann die folgenden Werte annehmen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>b<\/strong><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>basicSettings:<\/strong> Beinhaltet grundlegende Einstellungen und Kategorien (SalesChannel-Anhang, etc.). Sie wird automatisch ausgef\u00fchrt, wenn andere DataSelections importiert werden.<\/li><li><strong>cms:<\/strong> Beinhaltet Layouts.<\/li><li><strong>customersOrders:<\/strong> Beinhaltet alle Kunden, Auftr\u00e4ge und Dokumente.<\/li><li><strong>media: <\/strong>Umfasst alle Medien und Ordner.<\/li><li><strong>newsletterRecipient:<\/strong> Befasst sich mit Newsletter-Empf\u00e4ngern.<\/li><li><strong>Produkte: <\/strong>Beinhaltet alle Produktdaten und zugeh\u00f6rige Entit\u00e4ten. Umfasst auch die zugeh\u00f6rigen Entit\u00e4ten von \u201emedia\u201c.<\/li><li><strong>productReviews:<\/strong> Beinhaltet Produktbewertungen.<\/li><li><strong>Werbeaktionen: <\/strong>Umfasst Rabatte und Werbeaktionen.<\/li><li><strong>seoUrls: <\/strong>Beinhaltet SEO-URLs.<\/li><li><strong>customerWishlists:<\/strong> Beinhaltet Merklisten f\u00fcr Kunden.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Beschleunigen Sie die Migration gro\u00dfer Datenmengen mit Hilfe einer lokalen Datenbank.<\/h2>\n\n\n\n<p>Bei gro\u00dfen Datenmengen kann es von Vorteil sein, direkt \u00fcber eine lokal gelegene Datenbank zu migrieren. Auf diese Weise l\u00e4sst sich die Last auf mehrere Systeme verteilen, was zu einer h\u00f6heren Effizienz f\u00fchrt. Bei einer gro\u00dfen Anzahl von Datens\u00e4tzen, insbesondere von Varianten, kann der Migrationsprozess jedoch sehr viel Zeit in Anspruch nehmen.<\/p>\n\n\n\n<p>W\u00e4hrend der Migration werden die Informationen nicht nur ausgelesen, sondern auch f\u00fcr den anschlie\u00dfenden Schreibprozess vorbereitet. Der Migrationsassistent zielt zwar darauf ab, eine nahtlose Migration zu erm\u00f6glichen, aber der Umgang mit solch gro\u00dfen Datenmengen ist eine Herausforderung und nicht der prim\u00e4re Fokus der Erweiterung. Daher k\u00f6nnen in solchen Ausnahmef\u00e4llen einige zus\u00e4tzliche Anpassungen erforderlich sein.<\/p>\n\n\n\n<p>Ob die Migration lokal oder \u00fcber die API\/Speicherdom\u00e4ne erfolgen soll, kann im Migrationsassistenten durch Bearbeiten der Verbindungseinstellungen festgelegt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"599\" src=\"https:\/\/www.bay20.com\/wp-content\/uploads\/2023\/05\/image-71.png\" alt=\"Shopware 5 to Shopware 6\" class=\"wp-image-13440\" srcset=\"https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-71.png 689w, https:\/\/www.bay20.com\/de\/wp-content\/uploads\/2023\/05\/image-71-300x261.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fehlermeldung: \u201eVerbindung kann nicht hergestellt werden\u201c<\/h2>\n\n\n\n<p>Wenn beispielsweise ein Fehler bei der Eingabe der Shop-Dom\u00e4ne oder des API-Schl\u00fcssels aufgetreten ist, wird m\u00f6glicherweise die folgende Fehlermeldung angezeigt. Falls Sie die Richtigkeit der Domain und des API-Schl\u00fcssels \u00fcberpr\u00fcft haben, kann das Problem auf die Verwendung einer veralteten Version der Migrationserweiterung zur\u00fcckzuf\u00fchren sein. Es wird daher empfohlen, die Version der Erweiterung zu \u00fcberpr\u00fcfen und mit dem verf\u00fcgbaren Update fortzufahren.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Vollst\u00e4ndige Fehlermeldung:<ul><li>Es wurde keine Verbindung hergestellt.<\/li><li>Es konnte keine Verbindung mit dem angegebenen Server hergestellt werden. Bitte \u00fcberpr\u00fcfen Sie die angegebene Speicherdom\u00e4ne.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Indizierung<\/h2>\n\n\n\n<p>Ein nicht vollst\u00e4ndig aufgebauter Index kann dazu f\u00fchren, dass die Migration \u201estecken bleibt\u201c. Anzeichen f\u00fcr eine unvollst\u00e4ndige Indizierung k\u00f6nnen sich in den folgenden Meldungen \u00e4u\u00dfern, die alle darauf hindeuten, dass der Indizierungsprozess noch nicht abgeschlossen ist:<\/p>\n\n\n\n<p><strong>Ca. 1395350 verbleibende Produkte \u2026<\/strong><\/p>\n\n\n\n<p><strong>Ungef\u00e4hr 1400 Kategorien verbleiben \u2026<\/strong><\/p>\n\n\n\n<p><strong>[\u2026]<\/strong><\/p>\n\n\n\n<p>Um eine vollst\u00e4ndige Indizierung zu erreichen, muss Folgendes beachtet werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ausreichende Server-Ressourcen sind verf\u00fcgbar, einschlie\u00dflich eines ausreichend gro\u00dfen Arbeitsspeichers (mindestens 2 GB).<\/li><li>Der Server sollte keine langlaufenden Prozesse beenden.<\/li><li>Die Nachrichtenwarteschlange muss zur\u00fcckgesetzt werden:<\/li><\/ul>\n\n\n\n<p>Die Nachrichten-Warteschlange kann mit den folgenden Schritten zur\u00fcckgesetzt werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>dead_message<\/strong><ul><li>CREATE TABLE backup_dead_message LIKE dead_message;<\/li><li>INSERT INTO backup_dead_message SELECT * FROM dead_message;<\/li><li>DELETE FROM dead_message;<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>enqueue<\/strong><ul><li>CREATE TABLE backup_enqueue LIKE enqueue;<\/li><li>INSERT INTO backup_enqueue SELECT * FROM enqueue;<\/li><li>DELETE FROM enqueue;<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>messsage_queue_stats<\/strong><ul><li>CREATE TABLE backup_message_queue_stats LIKE message_queue_stats;<\/li><li>INSERT INTO backup_message_queue_stats SELECT * FROM message_queue_stats;<\/li><li>DELETE FROM message_queue_stats;<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>messsage_queue_stats<\/strong><ul><li>CREATE TABLE backup_increment LIKE increment;<\/li><li>INSERT INTO backup_increment SELECT * FROM increment;<\/li><li>DELETE FROM increment;<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>Anschlie\u00dfend muss sichergestellt werden, dass die Nachrichtenwarteschlange \u00fcber die Befehlszeilenschnittstelle (CLI) bearbeitet wird:<\/p>\n\n\n\n<p>Um die Neuindizierung \u00fcber die Nachrichtenwarteschlange zu initiieren, k\u00f6nnen Sie sie mit dem folgenden CLI-Befehl ausl\u00f6sen:<\/p>\n\n\n\n<p><strong>bin\/console dal:refresh:index &#8211;use-queue<\/strong><\/p>\n\n\n\n<p>Die Indizierung erfolgt \u00fcber die Nachrichtenwarteschlange und kann mehrere Stunden in Anspruch nehmen. Nach Abschluss der Indizierung wird empfohlen, den Cache per FTP zu leeren, indem alle Unterordner aus dem Verzeichnis \u201e\/var\/cache\/*\u201c gel\u00f6scht werden. Dieser Schritt stellt sicher, dass der Cache aufgefrischt wird und alle veralteten oder irrelevanten Daten entfernt werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Erneutes Verschieben von zuvor migrierten Artikeln.<\/h2>\n\n\n\n<p>Wurde die Migration schon einmal durchgef\u00fchrt, zum Beispiel zu Testzwecken, beh\u00e4lt die Shopware-Installation die Informationen \u00fcber die bereits \u00fcbertragenen Artikel. Jeder eingelesenen Datei wird eine Pr\u00fcfsumme zugeordnet, mit der bei nachfolgenden Migrationen \u00fcberpr\u00fcft wird, ob die Daten bereits migriert wurden. Dieser Mechanismus verhindert, dass Daten doppelt migriert werden, was zu \u00dcberschreibungskonflikten f\u00fchren k\u00f6nnte.<\/p>\n\n\n\n<p>Um die erw\u00e4hnte Pr\u00fcfsumme zu generieren, legt Shopware eine neue Tabelle mit dem Namen <strong>\u201eswag_migration_mapping\u201c<\/strong> an. Das Zur\u00fccksetzen der Pr\u00fcfsumme und die Durchf\u00fchrung weiterer Migrationen ohne Zur\u00fccksetzen der Pr\u00fcfsumme kann bei Bedarf wiederholt werden. Dieser Prozess wird durch die Migrationserweiterung erleichtert, und weitere Anweisungen finden Sie im folgenden Artikel:<\/p>\n\n\n\n<p>Innerhalb der Tabelle <strong>\u201eswag_migration_mapping\u201c<\/strong> ist es auch m\u00f6glich, bestimmte Dateneintr\u00e4ge manuell zu l\u00f6schen. Dies erm\u00f6glicht die selektive R\u00fcck\u00fcbertragung bestimmter Entit\u00e4ten. Um z.B. die Newsletter-Empf\u00e4nger erneut zu migrieren, k\u00f6nnen Sie den folgenden SQL-Befehl ausf\u00fchren. Bitte beachten Sie, dass die Entit\u00e4t entsprechend angepasst werden kann:<\/p>\n\n\n\n<p>UPDATE swag_migration_mapping<br>SET checksum = null<br>WHERE entity = &#8222;newsletter_recipient&#8220;<\/p>\n\n\n\n<p><strong>Bitte kontaktieren Sie uns unter <strong><a href=\"mailto:manish@bay20.com\">manish@bay20.com<\/a><\/strong><\/strong> <strong>oder rufen Sie uns unter <strong><a href=\"https:\/\/api.whatsapp.com\/send?phone=+918800519180&amp;text=Hi, I contacted you through your website.\" title=\"+91-8800519180\">+91-8800519180<\/a><\/strong> an, wenn Sie Unterst\u00fctzung im Zusammenhang mit Shopware ben\u00f6tigen. Sie k\u00f6nnen auch die <strong><a href=\"https:\/\/www.bay20.com\/de\/mieten-shopware6-entwickler\/\" title=\"Shopware 6 development\">Shopware 6 <strong>Entwicklungsseite<\/strong><\/a><\/strong> besuchen, um die von uns angebotenen Dienstleistungen zu \u00fcberpr\u00fcfen.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Moving from Shopware 5 to Shopware 6 may pose a challenge, but with proper planning and execution, it can be accomplished seamlessly.<\/p>\n","protected":false},"author":74,"featured_media":13491,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78,115,91],"tags":[],"class_list":["post-13375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shopware","category-shopware-6","category-shopware-6-anleitungen"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/13375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/users\/74"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/comments?post=13375"}],"version-history":[{"count":17,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/13375\/revisions"}],"predecessor-version":[{"id":17041,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/posts\/13375\/revisions\/17041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/media\/13491"}],"wp:attachment":[{"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/media?parent=13375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/categories?post=13375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bay20.com\/de\/wp-json\/wp\/v2\/tags?post=13375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}