Migrationsfehler (evtl. wg. Crosselling)

Habe heute versucht gut 700 Produkte von SW5 auf SW6 zu migrieren. Davon sind nur 200 angekommen in SW6.

Folgende Fehlermeldung kommt sehr oft vor:

[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: product_cross_selling, sourceId: 018e194cb648726a97c689cc52b594c0
An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`c1w18db1`.`product_cross_selling`, CONSTRAINT `fk.product_cross_selling.product_id` FOREIGN KEY (`product_id`, `product_version_id`) REFERENCES `product` (`id`, `version_id`) ON DELETE CASCAD)

Weiß wer was die genau aussagt? Irgendein Problem mit dem Crosselling?

Es könnte daran liegen, dass die Crossellings nicht angelegt werden können, weil die dazugehörigen Produkte fehlen. Es muss also untersucht werden warum die Produkte nicht rüber kommen. Da müsste es im Log weitere Fehler geben.

Ich versuch mal ein Beispiel zu bringen, damit man mein Problem besser versteht.

Folgende Fehlermeldung steht im Log:

[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: product_property_relation, sourceId: 018e194c63317349b817195218913aa2
There are 5 error(s) while writing data.1. [/0/taxId] Dieser Wert sollte nicht leer sein.1. [/0/price] Dieser Wert sollte nicht leer sein.1. [/0/productNumber] Dieser Wert sollte nicht leer sein.1. [/0/stock] Dieser Wert sollte nicht leer sein.1. [/0/translations/2fbb5fe2e29a4d70aa5854ce7ce3e20b/name] Dieser Wert sollte nicht leer sein.

Anhand der SourceID 018e194c63317349b817195218913aa2 kann ich in der swag_migration_data einen Eintrag finden:

SELECT * FROM `swag_migration_data` WHERE id = UNHEX('018e194c63317349b817195218913aa2');

In dem Eintrag steht z.B. in der Spalte raw folgendes:

{"type":"property","name":"östlicher Teil des Sees","id":"2","optionID":"1","value":"östlicher Teil des Sees","position":"1","media_id":null,"identifier":"115f89503138416a242f40fb7d7f338e","productId":"23","group":{"id":"1","name":"Verbreitung","filterable":"1"}}

Da sehe ich dann eine productId = 23

Suche ich im Shopware 5 nach der ID bekomme ich ein Produkt. Nachdem der Fehler mit der Produkteigenschaft (product_property_relation) „östlicher Teil des Sees“ zu tun haben soll, habe ich mir das auch im Shop angesehen.

Ich habe auch die Eigenschaft geprüft und geschaut ob die Gruppe bzw. Eigenschaft aktiv etc. ist. Alles sieht richtig konfiguriert aus.

Die Fehlermeldung sagt das die TaxID, der price, die productNumber, stock und die translations nicht 0 oder leer sein darf.

Habe jetzt in der Shopware 5 Datenbank gesucht, keine der angegebenen Punkte wäre im Ansatz leer. Alles sauber befüllt. Ohne weitere Auffälligkeiten.

Ist mein Vorgehen so richtig oder vertue ich mich da grad komplett?

Es waren am Ende die Crossselling Artikel die aus irgendeinem mir nicht erkenntlichen Grund nicht migrieren konnte. Ich habe in Shopware 5 einfach die s_articles_relationships Tabelle geleert und schon lief die Migration sauber durch. Jetzt muss man halt in SW6 das Crossselling nachpflegen - aber lieber so als garnicht :slight_smile:

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.