Fehler in der Shopware API – Entstehung von Datensatzleichen in der s_articles_details

Beruflich betreibe ich/wir u.a. einen Shopware-Online Shop (aktuell Version 5.4.0). Seit einiger Zeit beobachte ich, wie in der Datenbank Datensatzleichen entstehen, die ich nicht reproduzieren kann.

Hintergrundwissen: wir benutzen das Shopware-Backend nicht zum Erstellen oder Bearbeiten von Artikeln/Kategorien etc. sondern setzen zu diesem Zweck ein von mit entwickeltes PIM ein. Dieses System „füttert“ dann den Shopware über die API. D.h. Änderungen an den Artikel-Stammdaten, -Verfügbarkeiten und Kategorien werden aus dem PIM bei Änderungen direkt mittels REST-API in den Shopware-Shop geschrieben.

Nun kommt es selten (aber leider zu häufg) zu folgenden Inkonsistenzen in der Datenstruktur der Shopwaredatenbank:

Beim Update eines Varianten-Artikels passiert es, dass der Datensatz in der s_articles_details des „main_details“ gelöscht wird (kind=2). D.h. der Datensatz des Artikels in s_articles verweist im Feld main_detail_id auf eine ID, die nicht mehr in der s_articles_details existiert. Das hat zur Folge, dass der Artikel im Frontend nicht mehr aktiv ist. Im Backend sorgt es dafür, dass man diesen Artikel auch nicht mehr über die Artikel-Verwaltung finden kann – die Varianten aber sehr wohl.

Sollte man nun versuchen, diesen Artikel über die API zu löschen, werden sämtliche Einträge aus der s_articles_detaills gelöscht die in articleID auf die ID verweisen. Allerdings wird der Eintrag in der Tabelle s_articles nicht gelöscht! Außerdem werden dann auch nicht andere Verweise auf diesen gelöscht. Unter anderem die Zuordnung des Artikels zu Kategorien s_articles_categories oder zu den Produkt-Bildern s_articles_img
Es entstehen also viele viele Datensatz-Leichen.
Ich werde heute Nachmittag mal eine SQL-Abfrage zur Ermittlung der Leichen bauen und werde berichten.

Falls jemand ein ähnliches Verhalten und ggf. auch schon die Ursachen kennt: bitte melde Dich 🙂

Ein Kommentar zu „Fehler in der Shopware API – Entstehung von Datensatzleichen in der s_articles_details

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.