Migration SW5.5.7 zu SW6: Foreign-Key-Fehler bei order_customer nach Anonymisierung

Betreff: Migration SW5.5.7 → SW6: Foreign-Key-Fehler bei order_customer nach Kundendaten-Anonymisierung

Shopdaten:

Quellsystem: Shopware 5.5.7

Zielsystem: Shopware 6

Migrations-Assistent, Profil: shopware55, Gateway: api

Problem:

Beim Schritt „Schreiben“ treten 757 Schreibfehler (Code: SWAG_MIGRATION_WRITE_EXCEPTION) auf, hauptsächlich bei den Entitäten order, order_document und customer. Betroffen sind auch vereinzelt property_group_option und seo_url.

Fehlermeldung (Beispiel):

Code

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or

update a child row: a foreign key constraint fails

(h60164_shopware6.order_customer, CONSTRAINT

fk.order_customer.customer_id FOREIGN KEY (customer_id) REFERENCES

customer (id) ON DELETE SET NULL ON UPDATE CASCADE)

Vermutete Ursache:

Im Quellsystem (SW5) wurden Kundendaten alter Bestellungen automatisch anonymisiert (DSGVO-Aufbewahrungsfrist), wobei die zugehörigen customer-Datensätze komplett entfernt wurden. Die betroffenen Bestellungen verweisen weiterhin auf diese nicht mehr existierenden customer_id-Werte. Beim Schreiben nach SW6 versucht der Migrations-Assistent offenbar, diese ungültige customer_id trotzdem mitzuschreiben, statt sie – wie es das Fremdschlüssel-Constraint mit ON DELETE SET NULL eigentlich vorsieht – auf NULL zu setzen (z. B. wie bei Gastbestellungen ohne Kundenkonto).

Zusätzlicher Kontext:

Vor dem Schreiben-Schritt wurden über die „Fehlerbehebung“-Ansicht bereits 2598 Bestellungen mit fehlendem orderCustomer.email/firstName/lastName durch Platzhalterwerte ergänzt (da diese Felder als Pflichtfelder markiert waren), sowie 1123 newsletter_recipient-Einträge mit fehlendem status.

Frage an den Support/Forum:

Gibt es eine empfohlene Vorgehensweise, um Bestellungen mit anonymisierten/gelöschten Kundendaten korrekt zu migrieren (z. B. als Gastbestellung ohne Kundenverknüpfung), ohne dass die Foreign-Key-Prüfung fehlschlägt? Ist dies ein bekanntes Problem des Migrations-Assistenten bei SW5-Shops mit aktivierter Kundendaten-Anonymisierung?

In SW5 per DB-Befehl alle Bestellungen mit nicht mehr vorhandenen Kunden filtern und denen ein Dummy-Kundenkonto zuordnen.