Neu Artikelmerkmale umbenennen kann zum Error führen

Puma7

Sehr aktives Mitglied
4. Mai 2016
405
44
Hi,

meine Mitarbeiterin kam auf die Idee ein paar Merkmale zusammenzuführen und hat dabei das Merkmal "Flachgewebe" gelöscht und das Merkmal "Web" in "Flachgewebe" umbenannt.
Für JTL kein Problem, bloß beim Abgleich wurde dann versucht "Flachgewebe" hinzuzufügen obwohl es in der Datenbank schon existierte. Was genau passiert ist kann ich nicht sagen. "Web" war weg und "Flachgewebe" noch da und JTL hat versucht "Flachgewebe" nochmal hinzuzufügen.
Shopware fand das semi geil und wirf den Fehler "duplicate entry" weil ja ein Merkmal mit dem selben namen bereits existiert und ein Merkmal darf wohl nur einmal da sein. Das passierte in beiden Shopware Shops die angebunden sind.
Lösung: Das Merkmal "Flachgewebe" in Shopware löschen und JTL kann wieder normal zum Shop hin Synchronisieren. Die Synchronisation war mit Shopware übrigens nicht mehr möglich wegen dieses kleinen Fehlers.

Jetzt meine Frage. Kann man nicht generell den Fehler "duplicate entry" abfangen? Denn wenn ein Wert bereits 1:1 existiert müsste JTL ihn nicht mehr hochladen. Oder man löscht diesen doppelten wert und legt ihn neu an.

Code:
JTL-Wawi: End sync
Exception: An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'
An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'
Merkmale-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Exception bei specific.push: An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'

An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'

Response: {"result":[],"error":{"code":0,"message":"An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params [\"Flachgewebe\", 300]:\n\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'","data":null},"jtlrpc":"2.0","id":"bd6523bfb6454d65bc0a78814b4383f1"}
Exception bei specific.push: An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'

An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params ["Flachgewebe", 300]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'

Response: {"result":[],"error":{"code":0,"message":"An exception occurred while executing 'UPDATE s_filter_values SET value = ? WHERE id = ?' with params [\"Flachgewebe\", 300]:\n\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32-Flachgewebe' for key 'optionID'","data":null},"jtlrpc":"2.0","id":"9179ca418ba64f8c8d0788a6f409f290"}
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.Ykj3Kxq5wvA(String  , Object  , Boolean  , NetworkCredential  )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.mPE35O9Ldey(String  , Object  , Boolean  , NetworkCredential  )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.Ykj3Kxq5wvA(String  , Object  , Boolean  , NetworkCredential  )
 
Zuletzt bearbeitet:

Tobias Cordemann

Mitglied
18. Dezember 2017
65
7
Hey Puma7,

geh mal bitte in das Backend von deinem Shopware und lösche dort alle Merkmale raus.
Danach machst du einen Komplettabgleich nur von den Mermalen.
Dies sollte deinen Fall lösen können.

Beste Grüße