Fehlende Datensätze Kunden, Bestellungen via Migrations-Assistent Magento -> SW6

Hallo, 

die Migration aus unserem Magento 1.9 Shop über den Migrations-Assistent verläuft soweit gut. 
Allerdings werden aus unseren knapp 9.000 Kunden und 40.000 Bestellungen nur ~ 7.800 Kunden und ~ 1.900 Bestellungen importiert. 
Egal, wie oft der Prozess neu ausgeführt oder aber auch komplett neu installiert ausgeführt wird. 

Vor dem Prozess werden im “Tooltip Fragezeichen” korrekt 40.000 Best. & 9.000 Kunden angezeigt.  
Der Prozess zeigt auch ~ 50.000 Items an. 

Aber nach dem (erfolgreichen) Abschluss leider immer das selbe, magere Ergebnis. 

  • an der Performance dürfte es nicht liegen, es handelt sich um einen ded. Vserver
    - fastcgi_read_timeout steht temporär auf 600s
  • keine Fehler im error.log

Lediglich im Migrations-Log tauchen einige SWAG_MIGRATION__WRITE_EXCEPTION_OCCURRED Fehler auf, die sich aber auf fehlende Nachnamen zu beziehen scheinen. 
Und in der Anzahl nur knapp 40. 

Irgendwelche Ideen (oder Erfahrungen), wie man dem Fehler auf den Grund gehen könnte? 
Oder ist die Anzahl der Datensätze irgendwo Skriptseitig begrenzt?  
Kann man den Assistenten evtl. über die Konsole starten? 

Hallo emkay,

die Migration wird nicht Skriptseitig begrenzt. Bei großen Datenmengen oder langer Migrationszeit sollte am Besten die Migration per Konsole gestartet werden: https://docs.shopware.com/en/migration-en/Migrationprocess?category=migration-en/shopware5#migration-of-large-amounts-of-data-via-the-console

Wichtig hierbei ist auch, dass das System im LIVE-Modus ist, sodass es nicht zu einem Memory-Limit-Fehler kommt. Fehler und Warnungen werden, wie du schon gesehen hast, im Migrations-Log gespeichert und sollten nach der Migration durchgeschaut werden.

Gruß

Krispin

Vielen Dank für den Hinweis, 

immerhin bringt der Weg über die Konsole eine Fehlermeldung. 
Die Migration läuft bis zu “Read order” #1400 und bricht dann mit folgender Meldung ab: 

ERROR [console] Error thrown while running command "migration:migrate customersOrders". Message: "Argument 3 passed to SwagMigrationAssistant\Migration\Mapping\MappingService::getMapping() must be of the type string, null given, called in (...)/custom/plugins/SwagMigrationMagento/src/Profile/Magento/Converter/OrderConverter.php on line 535" ["exception" => TypeError { …},"command" => "migration:migrate customersOrders","message" => "Argument 3 passed to SwagMigrationAssistant\Migration\Mapping\MappingService::getMapping() must be of the type string, null given, called in (...)/custom/plugins/SwagMigrationMagento/src/Profile/Magento/Converter/OrderConverter.php on line 535"]

In MappingService.php line 227: Argument 3 passed to SwagMigrationAssistant\Migration\Mapping\MappingService::getMapping() must be of the type string, null given, called in (...)/custom/plugins/SwagMigrationMagento/src/Profile/Magento/Converter/OrderConverter.php on line 535

Wenn ich dies in OrderConverter.php:535 richtig sehe, fehlt dem Import die country_id, richtig? (null given)

Gibt es hierfür eine saubere Lösung, einen Workaround, oder übersehe ich etwas? 

Wenn alle Stricken reissen würde ich (um hier zeitnah weiter zu kommen und da der Großteil der Bestellung aus DE kommen) versuchen diese in Zeile 534 statisch auf “DE” zu setzen. 

Hi emkay,

jep, das siehst du richtig, anscheinend ist in deiner Datenbank die Spalte country_id nicht gepflegt und wir gehen davon aus, dass diese gefüllt ist.
Entweder du füllst in deiner Datenbank diese Spalte defaultmäßig mit einen Wert oder erstellst ein Plugin, was dies für dich macht (oder greifst händisch dort ein).

Gruß

Krispin

1 „Gefällt mir“

wunderbar - vielen Dank für das Feedback. 
mit einer kurzen Bedingung, die $originalData['country_id'] -sofern leer- auf ‘DE’ setzt, lief der Import einwandfrei durch.