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?