Fehlerbehebung beim Datenmigrations-Tool
Dieser Artikel enthält Lösungen für Fehler, die beim Ausführen des Datenmigrations-Tools auftreten können.
Beschreibung description
Betroffene Umgebung
- Adobe Commerce Version 1
- Adobe Commerce Version 2
Problem/Symptome
- Source-Dokumente/-Felder nicht zugeordnet
- Klasse ist im Datensatz nicht zugeordnet
- Fremdschlüssel-Einschränkung schlägt fehl
- Duplikate bei URL-Neuschreibungen
- Entitäten stimmen nicht überein
- Deltalog ist nicht installiert
Lösung resolution
Source-Dokumente/-Felder nicht zugeordnet
Fehlermeldungen
- Source-Dokumente sind nicht zugeordnet:
<EXTENSION_TABLE> - Source-Felder sind nicht zugeordnet. Dokument:
<EXTENSION_TABLE>. Felder:<EXTENSION_FIELD>
In seltenen Fällen werden in der Nachricht möglicherweise Destination documents oder Destination fields anstelle von Quelltexten erwähnt.
Ursache
Einige Adobe Commerce-Entitäten der Version 1, in den meisten Fällen von Erweiterungen, sind nicht in der Adobe Commerce-Datenbank der Version 2 vorhanden.
Diese Meldung wird angezeigt, weil das Datenmigrations-Tool interne Tests ausführt, um zu überprüfen, ob Tabellen und Felder zwischen Quelldatenbank (Adobe Commerce 1) und Zieldatenbank (Adobe Commerce 2) konsistent sind.
Mögliche Lösungen
-
Installieren Sie die entsprechenden Adobe Commerce 2-Erweiterungen von Commerce Marketplace. Wenn die kollidierenden Daten von einer Erweiterung stammen, die ihre eigenen Datenbankstrukturelemente hinzufügt, kann die Adobe Commerce 2-Version derselben Erweiterung solche Elemente zur Zieldatenbank (Adobe Commerce 2) hinzufügen, wodurch das Problem behoben wird.
-
Verwenden Sie das
-aArgument beim Ausführen des Tools, um Fehler automatisch zu beheben und zu verhindern, dass die Migration beendet wird. -
Konfigurieren Sie das Tool so, dass problematische Daten ignoriert werden. Um Datenbankentitäten zu ignorieren, fügen Sie das
<ignore>-Tag wie folgt zu einer Entität in dermap.xmlhinzu:code language-none ... <source> <document_rules> ... <!-- Ignore `sales_flat_invoice_grid` table --> <ignore> <document>sales_flat_invoice_grid</document> </ignore> <!-- Ignore `address_id` field of `sales_flat_order_address` table --> <ignore> <field>sales_flat_order_address.address_id</field> </ignore> ... </document_rules> </source> ...
Warnung :
Bevor Sie Entitäten anhand einer Zuordnungsdatei ignorieren oder die Option -a verwenden, stellen Sie sicher, dass Sie die betroffenen Daten nicht in Ihrem Adobe Commerce 2 -Speicher benötigen.
Klasse ist im Datensatz nicht zugeordnet
Fehlermeldungen
Klasse < Erweiterung/class_name> ist im Datensatz < attribute_id=196 nicht zugeordnet>
Ursache
Eine Klasse aus der Adobe Commerce 1-Codebasis konnte während des EAV-Migrationsschritts“ in unserer Entwicklerdokumentation nicht in 2-Codebasis gefunden werden. In den meisten Fällen gehört die fehlende Klasse zu einer Erweiterung.
Mögliche Lösungen
- Installieren Sie die entsprechende Adobe Commerce 2-Erweiterung.
- Ignorieren Sie das Attribut, das das Problem verursacht. Fügen Sie dazu das Attribut zur
ignorein dereav-attribute-groups.xml.disthinzu. - Hinzufügen der Klassenzuordnung mithilfe der
class-map.xml.dist.
Fremdschlüssel-Einschränkung schlägt fehl
Text der Fehlermeldung
Fremdschlüssel < KEY_NAME>-Einschränkung schlägt in der Quelldatenbank fehl. Verwaiste Datensätze: < ID_1> , < ID_2> aus < untergeordneten Tabelle> .< field_id> hat keine referenzierten Datensätze in < übergeordneten Tabelle>
Ursache
In der parent_table, auf die der field_id der child_table verweist, fehlen Datenbankdatensätze.
Mögliche Lösung
Löschen Sie die Datensätze aus dem child_table, falls Sie sie nicht benötigen.
Um die Datensätze beizubehalten, deaktivieren Sie die Data Integrity Step, indem Sie die config.xml des Datenmigrations-Tools ändern.
Duplikate bei URL-Neuschreibungen
There are duplicates in URL rewrites:
Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/10
Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/12
Ursache
Die Target path in einer URL-Umschreibung muss durch ein eindeutiges Paar aus Request path + Store ID angegeben werden. Dieser Fehler meldet zwei Einträge, die dasselbe Request path + Store ID Paar mit zwei verschiedenen Target path verwenden.
Mögliche Lösung
Aktivieren Sie die Option auto_resolve_urlrewrite_duplicates in Ihrer config.xml.
Diese Konfiguration fügt den widersprüchlichen Datensätzen von URL-Neuschreibungen eine Hash-Zeichenfolge hinzu und zeigt das Auflösungsergebnis in Ihrer Befehlszeilenschnittstelle an.
Nicht übereinstimmende Entitäten
Fehlernachricht
Nicht übereinstimmende Entitäten im Dokument: < DOCUMENT> Source: < COUNT_ITEMS_IN_SOURCE_TABLE> Ziel: < COUNT_ITEMS_IN_DESTINATION_TABLE>
Ursache
Der Fehler tritt während des Schritts zur Volumeprüfung auf. Dies bedeutet, dass die Anzahl der Adobe Commerce 2-Datensätze des Dokuments nicht mit der in Adobe Commerce 1 übereinstimmt.
Fehlende Datensätze treten auf, wenn ein Kunde während der Migration eine Bestellung aufgibt.
Mögliche Lösung
Führen Sie das Datenmigrations-Tool im Delta aus, um inkrementelle Änderungen zu übertragen.
Deltalog ist nicht installiert
Fehlernachricht
Deltalog für < TABLE_NAME> ist nicht installiert
Ursache
Dieser Fehler tritt während inkrementellen Migration (in unserer Entwicklerdokumentation) von Datenänderungen auf. Das bedeutet, dass Deltalogtabellen (mit dem Präfix m2_cl_*) nicht in der Adobe Commerce 1-Datenbank gefunden wurden. Das Tool installiert diese Tabellen während Datenmigration (in unserer Entwicklerdokumentation) sowie Datenbank-Trigger, die Änderungen verfolgen und Deltalog-Tabellen ausfüllen.
Ein Grund für den Fehler könnte sein, dass Sie versuchen, von einer Kopie Ihres Adobe Commerce 1-Live-Stores und nicht vom Live-Store selbst zu migrieren. Wenn Sie eine Kopie aus einem Live Adobe Commerce 1-Store erstellen, der noch nie migriert wurde, enthält die Kopie nicht die Trigger und zusätzlichen Deltalogtabellen, die zum Abschließen einer Delta-Migration erforderlich sind, sodass die Migration fehlschlägt. Das Datenmigrations-Tool vergleicht NICHT die DB von AC1 und AC2, um die Unterschiede zu migrieren. Stattdessen verwendet das Tool die während der ersten Migration installierten Trigger und Deltalogtabellen, um nachfolgende Deltaimmigrationen durchzuführen. In einem solchen Fall enthält Ihre Live Copy der Adobe Commerce 1 DB nicht die Trigger- und Deltalogtabellen, die das Datenmigrations-Tool zur Durchführung einer Migration verwendet.
Mögliche Lösung
Es wird empfohlen, den Migrationsprozess aus einer Kopie Ihrer Adobe Commerce 1-Datenbank zu testen, um Ihre Migrationsprobleme zu beheben. Nachdem Sie die Probleme auf der Kopie behoben haben, starten Sie den Migrationsprozess von Ihrer Live Adobe Commerce 1-Datenbank erneut. Dies wird dazu beitragen, einen reibungslosen Migrationsprozess zu gewährleisten.
Verwandtes Lesen
Best Practices zum Ändern von Datenbanktabellen im Commerce-Implementierungs-Playbook