Liebe Shopware Kollegen
Ich habe bei der Migration von Shopware 5 zu Shopware 6 ein Problem, an welchem ich mir nun seit 1 1/2 Wochen die Zähne ausbeisse. Begonnen hat alles damit, dass ich nach Abschluss einer sehr, sehr, seeeehr langen Datenbankbereinigung (ich arbeitete bislang mit einer alten xtCommerce Version) insgesamt 45’000 Fehler korrigierte. Als ich dann die Migration von Shopware 5 zu Shopware 6 durchführte, zeigte mir das System gerade noch 21 leicht korrigierbare Fehler an. Ein Fehler bezog sich auf einen toten Verkaufskanal, den ich früher mal testweise anlegte. Also dachte ich mir nicht viel dabei und löschte diesen. Damit begann dann allerdings eine Odyssee. Wie immer mache ich vor solchen Arbeiten Backups, so auch in diesem Fall. Doch als ich nach dem Löschen 22’000 Systemfehler erhielt, welche ich nicht beheben konnte, erlebte ich bei meinem Provider eine böse Überraschung. Dieser meldete mir nämlich, dass er kein Backup wiederherstellen kann, da jedes Mal eine Fehler auftritt. Da ich mit diesem Provider schon einige negative Erfahrungen machte, zog ich direkt zu einem anderen um. Dort klappte das Einspielen des Backups problemlos, allerdings sind die Systemfehler immer noch vorhanden. Und dies selbst bei älteren Backups. Wieso verstehe ich überhaupt nicht, da ich Backups eingelesen habe, bei welchen früher alles korrekt funktionierte. Ich hoffe mir kann jemand hier weiterhelfen, denn weiss echt nicht mehr weiter. Das Problem aktuell ist ja auch, dass mir durch diesen Fehler weder Kunden noch Bestellungen migriert werden.
Hier mal zwei von über 22’000 besagten Fehlermeldungen:
[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: order, sourceId: 9b1e9e1d936c4b37b30e25af86fc0cd3
An exception occurred while executing 'INSERT INTO `order` (`id`, `version_id`, `billing_address_id`, `billing_address_version_id`, `currency_id`, `language_id`, `sales_channel_id`, `state_id`, `created_by_id`, `order_number`, `order_date_time`, `price`, `shipping_costs`, `currency_factor`, `deep_link_code`, `custom_fields`, `item_rounding`, `total_rounding`, `created_at`) VALUES ('O1vGjrD)','jKKu,4%','','6968','2011-12-01 16:51:00.000','{\"netPrice\":169.09,\"totalPrice\":179.41,\"calculatedTaxes\":[],\"taxRules\":[{\"extensions\":[],\"taxRate\":0.0,\"percentage\":100.0}],\"positionPrice\":170.41,\"rawTotal\":179.41,\"taxStatus\":\"gross\"}','{\"unitPrice\":9.0,\"totalPrice\":9.0,\"quantity\":1,\"calculatedTaxes\":[],\"taxRules\":[],\"referencePrice\":null,\"listPrice\":null,\"regulationPrice\":null}','1','dc00085f099b487f87fd6d39da6d1be5','{\"migration_MigrationSw6_order_swag_paypal_unified_carrier_was_sent\":0}','{\"decimals\":2,\"interval\":0.01,\"roundForNet\":1}','{\"decimals\":2,\"interval\":0.01,\"roundForNet\":1}','2023-05-22 07:57:49.823');':SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`engelisn`.`order`, CONSTRAINT `fk.order.sales_channel_id` FOREIGN KEY (`sales_channel_id`) REFERENCES `sales_channel` (`id`) ON UPDATE CASCADE)
[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: order, sourceId: 38b3a34fe78a407faaaa1db98fb0b6b0
An exception occurred while executing 'INSERT INTO `order` (`id`, `version_id`, `billing_address_id`, `billing_address_version_id`, `currency_id`, `language_id`, `sales_channel_id`, `state_id`, `created_by_id`, `order_number`, `order_date_time`, `price`, `shipping_costs`, `currency_factor`, `deep_link_code`, `custom_fields`, `item_rounding`, `total_rounding`, `created_at`) VALUES ('@-Mx','jKKu,4%','Al','jKKu,4%','UKG','!R=NZ6yd','mgJUAp`)','IERgKJt:G','1 OU@Y>','6962','2011-11-29 07:51:17.000','{\"netPrice\":224.41,\"totalPrice\":230.02,\"calculatedTaxes\":[],\"taxRules\":[{\"extensions\":[],\"taxRate\":0.0,\"percentage\":100.0}],\"positionPrice\":230.02,\"rawTotal\":230.02,\"taxStatus\":\"gross\"}','{\"unitPrice\":0.0,\"totalPrice\":0.0,\"quantity\":1,\"calculatedTaxes\":[],\"taxRules\":[],\"referencePrice\":null,\"listPrice\":null,\"regulationPrice\":null}','1','7d671453160ee5d8ada93b117faee822','{\"migration_MigrationSw6_order_swag_paypal_unified_carrier_was_sent\":0}','{\"decimals\":2,\"interval\":0.01,\"roundForNet\":1}','{\"decimals\":2,\"interval\":0.01,\"roundForNet\":1}','2023-05-22 07:57:49.790');':SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`engelisn`.`order`, CONSTRAINT `fk.order.sales_channel_id` FOREIGN KEY (`sales_channel_id`) REFERENCES `sales_channel` (`id`) ON UPDATE CASCADE)
Wenn ich den „schlauen“ ChatGPT um Rat frage, erhalte ich folgende Antwort:
Die Fehlermeldung während der Shopware 5 zu Shopware 6 Migration besagt, dass ein Fehler beim Einfügen von Datensätzen in die Tabelle „order“ aufgetreten ist. Der Fehler tritt aufgrund einer fehlgeschlagenen Fremdschlüssel-Einschränkung auf, die den Verkaufskanal betrifft.
Genauer gesagt scheitert die Einfügung an der Fremdschlüsselbeziehung
fk.order.sales_channel_id
, die sicherstellen soll, dass dersales_channel_id
-Wert in der Tabelle „order“ auf einen gültigen Eintrag in der Tabelle „sales_channel“ verweist. In diesem Fall gibt es offenbar einen Konflikt bei der Zuordnung des Verkaufskanals für die betreffenden Bestellungen.
Was genau könnte da das Problem sein?
LG