Im vorherigen Artikel dieser Serie habe ich einen Überblick über den Magento-Migrationsprozess gegeben und einige der Vor- und Nachteile besprochen, die bei der Planung Ihrer Migration zu berücksichtigen sind. In diesem Artikel werden wir uns eingehender mit den technischen Details des eigentlichen Migrationsprozesses beschäftigen.
Da wir das Magento-Migrationstool bereits mit den Anweisungen des vorherigen Artikels installiert haben, müssen Sie es als Nächstes für eine erfolgreiche Migration ordnungsgemäß konfigurieren. Bevor Sie mit der Konfiguration des Migrations-Tools fortfahren, müssen Sie überprüfen, ob Ihre Version des Migrations-Tools mit Ihrer Magento-Installationsversion übereinstimmt. Ist dies nicht der Fall, müssen Sie die Version des Migrations-Tools aktualisieren.
Wenn Sie auf die Magento-Version 2.0.0 migrieren, benötigen Sie das Migrationswerkzeug Version 2.0.0. Wenn Sie die Magento-Version 2.0.2 verwenden, benötigen Sie das Migrationswerkzeug 2.0.2. Wenn die Version nicht übereinstimmt, ist die Migration nicht erfolgreich, da verschiedene Magento-Versionen unterschiedliche Datenbankstrukturen haben und unterschiedliche Zuordnungsmechanismen benötigen.
Verwenden Sie den folgenden Befehl, um die Version Ihrer neuen Magento-Installation zu überprüfen:
php/ bin / magento --version
Überprüfen Sie nun die Version des Magento-Migrationstools. Wechseln Sie dazu in das Verzeichnis Ihres Migrationswerkzeugs und öffnen Sie die Datei composer.json. Der Speicherort dieser Datei sieht etwa so aus:
Magento-Stammverzeichnis / vendor / magento / data-migration-tool / composer.json
Suchen Sie in dieser Datei den Wert von Ausführung
, und das ist Ihre Version des Migrationswerkzeugs. Wenn die Version von Magento und das Migrationstool übereinstimmen, können Sie mit dem nächsten Schritt fortfahren. Ist dies nicht der Fall, müssen Sie die Version des Migrationswerkzeugs an die Magento-Version anpassen.
Bevor Sie mit der Versionsaktualisierung fortfahren, sollten Sie eine Sicherungskopie des Verzeichnisses für das Datenmigrationswerkzeug erstellen, da durch den Aktualisierungsprozess der Inhalt dieses Ordners geändert wird. Wenn etwas schief geht, können Sie möglicherweise nicht mehr das ursprüngliche Verzeichnis erhalten, wenn Sie es ablegen Ich habe keine Sicherung. Wechseln Sie nach der Sicherung einfach in Ihr Magento-Stammverzeichnis auf Ihrem Server und geben Sie den folgenden Befehl ein:
Composer benötigen ein Magento / Daten-Migrations-Tool: 2.0.2
Das letzte, was im Befehl steht, ist Ihre Magento-Version. In diesem Fall ist es 2.0.0. Wenn Ihre anders ist, ändern Sie sie entsprechend.
Nachdem wir nun sichergestellt haben, dass wir passende Versionen von Magento und das Migrationstool haben, ist es an der Zeit, das Migrationstool richtig zu konfigurieren.
Um die Magento-Migration zu konfigurieren, müssen Sie die Konfigurationsdatei und die Zuordnungsdateien erstellen / aktualisieren. Sie finden diese Dateien in diesem Ordner:
Magento2-Stammverzeichnis / vendor / magento / data-migration-tool / etc / ce-to-ce
In diesem Artikel demonstriere ich die Community Edition für die Community Edition-Migration. Der letzte Ordner im obigen Pfad ist ce-to-ce. Wenn Sie sich jedoch mit der Enterprise Edition beschäftigen, wird es ee statt ce sein.
Das Erstellen einer ordnungsgemäß konfigurierten config.xml-Datei ist ein Muss, bevor Sie eine Migration einleiten. Um die Datei config.xml zu erstellen, melden Sie sich bei Ihrem Magento-Server an und wechseln Sie in dieses Verzeichnis:
Verwenden Sie diesen Befehl, um die Konfigurationsdatei zu erstellen:
cp config.xml.dist config.xml
Nachdem Sie es erstellt haben, öffnen Sie es in einem beliebigen Texteditor und geben Sie folgenden Beispielcode ein:
magento1 Schauen Sie sich das Magento 1-Stammverzeichnis / app / etc / local.xml an
Hier die Wirt, Name und Nutzer Felder der Quell- und Zieldatenbanken sind Pflichtfelder. Auch die crypt_key Feld ist obligatorisch. Der Rest der Felder wie Datenbank Passwort und source_prefix sind optional.
Das crypt_key Das Feld sollte den gleichen Schlüssel haben wie im Schlüsselkennzeichen der Datei local.xml, das sich in diesem Verzeichnis befindet:
Nachdem wir nun die Datei config.xml erstellt haben, ist der nächste optionale Schritt die Aktualisierung der Zuordnungsdateien. Das Migrationstool verwendet Zuordnungsdateien, um eine Datenbankzuordnung von Magento 1 zu Magento 2 durchzuführen. Die Zuordnungsdateien enthalten Informationen zum Ändern der Tabellen- und Feldnamen der Datenbank, welche Tabellen und Felder ignoriert werden können, und andere Informationen wie diese. Sie finden die Zuordnungsdateien in diesem Verzeichnis:
Gehen Sie diese Dateien durch. Wenn Sie eine dieser Dateien aktualisieren müssen, erstellen Sie eine Kopie der zu bearbeitenden Datei und entfernen Sie die .dist aus dem Namen. Wenn Sie beispielsweise die Datei map.xml.dist verwenden, erstellen Sie eine Kopie dieser Datei mit dem Namen map.xml. Wenn Sie mit dem Bearbeiten fertig sind, müssen Sie die Datei config.xml mit dem neuen Dateinamen im optionalen Knoten aktualisieren. Wenn Sie die Datei map.xml hinzugefügt haben, wird der Code der zuvor erstellten Datei config.xml folgendermaßen aussehen:
magento1 Schauen Sie sich das Magento 1-Stammverzeichnis / app / etc / local.xml an etc / ce-to-ce / 1.9.1.0 / map.xml.dist
Nun, da wir mit der gesamten Migrationsplanung, Installationen, Konfigurationen usw. fertig sind, beginnen wir den Migrationsprozess. Dazu müssen Sie das Migrationstool ausführen. Um das Migrationstool auszuführen, geben Sie Ihren Magento-Server als Benutzer mit Schreibberechtigung ein. Um Magento-Befehle von einem beliebigen Verzeichnis aus auszuführen, fügen Sie Ihrem Systempfad das Magento-Stammverzeichnis / bin hinzu, oder Sie können die Befehle folgendermaßen ausführen:
CD/Behälter
Verwenden Sie den folgenden Befehl, um die Migration zu starten:
bin / magento migrieren:
Hier kann der Modus entweder Einstellungen, Daten oder Delta sein, und der Pfad zur Datei config.xml ist ein absoluter Pfad.
Sie müssen die Migration in dieser Reihenfolge durchführen:
Beim Migrieren von Einstellungen werden Zahlungs-, Steuer- und Versandeinstellungen für Geschäfte, Websites usw. migriert. Führen Sie zum Ausführen der Einstellungsmigration den folgenden Befehl aus:
bin / magento migrate: einstellungen
Dadurch werden möglicherweise nicht alle Daten migriert. Sie müssen sich im Admin-Panel anmelden, um manuell zu prüfen, ob alles ordnungsgemäß übertragen wurde. Wenn ein Problem auftritt, können Sie diese Anweisung erneut ausführen. Verwenden Sie diesmal jedoch das Argument reset, um die Migration von Anfang an zu starten. Der Befehl sieht so aus:
bin / magento migrate: Einstellungen [-r | --reset]
Wenn Sie mit den Einstellungen fertig sind, beginnen Sie als Nächstes mit der Datenmigration. Die Prozedur ist dieselbe wie zuvor, mit einer einzigen Argumentänderung. Der auszuführende Befehl sieht folgendermaßen aus:
bin / magento migrate: daten
Wenn Sie die Datenmigration ausführen, überprüft das Migrationstool, ob die Datenbanktabellen und Felder Ihrer alten und neueren Magento-Versionen konsistent sind. Bei Inkonsistenzen wird versucht, die Informationen aus den Zuordnungsdateien zu finden.
Wenn es dort nicht gefunden wird, wird ein Fehler ausgegeben, der problematische Tabellen- und Feldnamen erwähnt. Das Problem tritt normalerweise auf, wenn Sie eine Magento-Erweiterung verwenden, deren Tabellenstruktur nicht mit der Magento 2-Datenbankstruktur kompatibel ist. In diesem Fall können Sie entweder die Magento 2-Version der Erweiterung installieren oder diese Dateien durch Hinzufügen ignorieren
Tags für die map.xml
Datei.
Sobald Sie das Problem gelöst haben, können Sie den Befehl zum Migrieren von Daten erneut ausführen. Hierbei ist zu beachten, dass das Migrationstool während der Migration den Fortschritt nachverfolgt. Sobald Sie es erneut ausführen, wird es an der vorherigen Stelle wieder aufgenommen. Um den Start von vorne zu erzwingen, können Sie den Befehl reset wie folgt verwenden:
bin / magento migrate: data [-r | --reset]
Der nächste Schritt ist die Migration der Änderungen (Delta).
Wie im vorherigen Artikel dieser Serie beschrieben, sollten Sie vor dem Beginn des Migrationsprozesses den Magento 1-Cron-Job und alle Aktivitäten im Magento 1-Verwaltungsbereich mit Ausnahme der erforderlichen Auftragsverwaltungsprobleme stoppen und die Aktivität erst wieder aufnehmen, wenn der Migrationsprozess abgeschlossen ist Zeit Migrationsprozess ist abgeschlossen.
Obwohl Sie die meisten Aktivitäten im Magento 1-Verwaltungsbereich beenden, bevor Sie den Migrationsprozess starten, werden einige Probleme bei der Auftragsabwicklung auftreten. Möglicherweise werden während dieser Zeit auch neue Bewertungen von Benutzern oder Änderungen der Kundenprofile angezeigt. Jetzt müssen Sie diese Daten mithilfe inkrementeller Updates migrieren.
Führen Sie den folgenden Befehl aus, um die inkrementellen Updates zu migrieren:
bin / magento migrate: delta [-r | --reset]
Hierbei ist zu beachten, dass die inkrementelle Migration fortlaufend ausgeführt wird, sofern Sie sie nicht mit dem Befehl STRG + C abbrechen. Zu beachten ist auch, dass dieses Tool nur Daten migriert, die von Magentos eigenen Modulen generiert werden. Wenn eine Erweiterung eines Drittanbieters in der Zwischenzeit einige Daten generiert / aktualisiert, werden diese nicht migriert. Wenn Sie möchten, dass auch Daten migriert werden, müssen Sie die Magento 2-Konfigurationsdateien aktualisieren. Dies erfordert etwas Vorwissen über die internen Spezifikationen des Datenmigrations-Tools und würde den Rahmen dieses Artikels sprengen.
Nochmals auf den ersten Artikel dieser Serie Bezug nehmend, obwohl das Migrationstool den Großteil des erheblichen Migrationsprozesses übernimmt, gibt es drei Arten von Dateien, die Sie manuell übertragen müssen:
Um die Mediendateien zu übertragen, gehen Sie zuerst zu Ihrem Magento 1-Verwaltungsbereich. Gehe zu System> Konfiguration> Erweitert> System.
Unter dem Speichern Sie die Konfiguration für Medien Wählen Sie die Registerkarte Mediendatenbank aus der Liste und klicken Sie auf Synchronisieren.
Gehen Sie jetzt zum Magento 2-Verwaltungsbereich, Stores> Konfiguration> Erweitert> System.
Unter Speicherkonfiguration für Medien, wähle aus Mediendatenbank, und klicken Sie auf Synchronisieren.
Dies kümmert sich um die Mediendateien, die in der Magento-Datenbank gespeichert sind. Um jetzt andere Mediendateien zu übertragen, kopieren Sie den gesamten Medienordner aus Ihrem Magento 1-Stammverzeichnis und fügen Sie ihn an dieser Stelle in Magento 2 ein:
Magento 2-Stammverzeichnis / pub / media
Es ist sehr wichtig, dass Sie beim Kopieren die .htaccess-Datei nicht ersetzen. Es ist besser, vor der Medienübertragung eine Sicherungskopie der .htaccess-Datei zu erstellen, damit die Datei nicht versehentlich ersetzt wird.
Um die Designdateien Ihres Stores zu übertragen, müssen Sie die Dateien .phtml, js, css und xml an die entsprechenden Speicherorte in Magento 2 übertragen. Die Ordnerstruktur unterscheidet sich von Magento 1. Dieser Artikel in den Magento-Entwicklerdokumenten wird enthalten Sie erhalten einen guten Überblick über die neue Themenordnerstruktur von Magento 2.
Neben der manuellen Übertragung von Designdateien müssen Sie auch die Anmeldeinformationen für die REST- und SOAP-Webdienste, die Sie auf Ihrer Site verwenden, manuell neu erstellen. Außerdem müssen Sie Administratorbenutzer neu erstellen und deren Zugriffsrechte festlegen.
Nachdem Sie alle für die Migration erforderlichen Schritte ausgeführt haben, sind hier einige letzte Schritte, um eine voll funktionsfähige Magento 2-Website zu erstellen.
Wenn Sie es soweit geschafft haben, herzlichen Glückwunsch! Ihr neuer Magento 2-Store ist fertig. Die Zeit und Mühe, die Sie investieren, um die Website auf die neuere Magento-Version zu übertragen, wird sich wirklich lohnen. Diese neue Version von Magento bietet verbesserte Leistung und Skalierbarkeit, neue Funktionen zur Steigerung der Konversionsrate sowie Verbesserung der Geschäftsflexibilität und Produktivität. Ihre Site ist bereit, mit diesen erweiterten Funktionen zum nächsten Level zu gelangen.