Kleine DB Inkonsistenz im Artikelstamm

N’abend,

ich bin gerade durch Zufall auf eine kleine Inkonsistenz in der Datenbank gestossen. Bei einem Hersteller wird in der Herstellerübersicht die Anzahl der Artikel mit 5 angegeben, da es den Hersteller im echten Leben nicht mehr gibt, gibt es auch keine Artikel. In der Artikelübersicht werden zu diesem hersteller auch keine Artikel aufgelistet.

Gucke ich nun direkt in die Datenbank, werden in  s_articles  tatsächlich 5 Artikel aufgelistet. Gucke ich im nächsten Schritt aber in die  s_articles_details , gibt es dort keine Einträge zu den Artikeln, somit werden diese natürlich auch nicht in der Übersicht angezeigt.

Die Artikel selber sind “Testartikel” aus früherer SW4-Erstinstallation, die auch garnicht mehr benötigt werden. Letztlich würde ich dann auch gerne regulär den Hersteller löschen.

Nun die Frage: Kann ich die 5 Einträge ohne Bedenken aus der  s_articles  löschen, oder muss ich erst noch tiefere Suchen in der DB machen - wegen anderer Referenzen?!?

Nachtrag: Alle 5 Einträge sind identisch, haben sogar auf die Sekunden genaue “changetime” - vermutlich also ein Backendfehler beim Bearbeiten oder so…

Die kannst du ruhig entfernen. Vielleicht noch die _attributes Tabelle mit aufräumen.

1 „Gefällt mir“

Die Attribute sind mir grad auf dem Heimweg auch noch eingefallen - dann werde ich das nach dem nächsten DB-Backup einfach mal machen. Wink

Und weiter geht es…

Zu den 5 Geisterartikeln habe ich keine Einträge in der  s_articles _ attributes​ , somit sollte das mit dem Löschen keine Probleme bereiten.

Dafür sind mir nun ein paar Einträge   s_articles _ attributes​  aufgefallen - dabei handelt es sich um Einträge zu in dieser Woche neu über das Backend angelegte Artikel:
Ich habe 6 Einträge, bei denen unter articleID  (NULL) steht, aber unter articledetailsID  ein Key eingetragen ist.
Die vorhandenen Einträge in articleID sind fortlaufend - was zu erwarten war - nur wird bei (NULL) eine ausgelassen.
Also der art 153, 154,155,(NULL),157

Der Artikel 156 existiert, und die in   s_articles  hinterlegte main_detail_id passt wieder zur  articledetailsID  aus  s_articles _ attributes​

Vorgehensweise war so:
Der erste Artikel einer Serie wurde manuell neu angelegt. Die weiteren waren Kopien.
Zwei Stichproben haben nun ergeben: Die manuell neu angelegten Artikel haben “NULL”, die Kopien haben einen Wert.

  1. Warum fehlen bei neu angelegten Artikeln die Foreignkeys in   s_articles _ attributes?
  2. Wäre es angebracht, die fehlenden Keys nachzutragen?

Muss das so sein, oder ist das ein BUG?
Wir haben 6 Artikelserien angelegt, und alle 6 “Erstlinge” sind ne NULL

Die SW-Version ist noch 5.2.9 - aber so ganz sauber scheint da im Backend etwas nicht zu laufen.

Edit:  Ich habe gerade mal in meinen anderen Shop mit 5.2.20 geguckt, da hatte ich den letzten Artikel unter 5.2.18 oder 20 (?) angelegt.
Gleiche Bild: Neuanlagen sind (NULL), Kopien haben den Key zum Artikel
 

 

Die ArticleID wird ab Shopware 5.2 nicht mehr befüllt und ist nur noch aus Kompatibilitätsgründen vorhanden.

Über die DetailsID kommt man ja ohnehin auch an die ArticleID - das ist also völlig korrekt so.

1 „Gefällt mir“

Naja, dann muss man sie aber auch nicht beim „Kopieren“ befüllen.
Und welche Kompatibilität soll das sein, wenn sie nicht befüllt wird? Ist dann ja schon durch „NULL“ inkompatiebel => also dann gleich ganz löschen  Wink

Mag sein, dass das noch bei bestimmten Funktionen befüllt wird, schadet ja erstmal nicht. Der Core selbst braucht die Spalte halt nicht mehr.

Wo findet man denn solche Änderungen? Ich hatte schon Spaß mit der Änderung der Attribute-Felder vom Typ Checkbox von true/false auf 1/0. Und ich muss gestehen, ich hab zwar gesucht, aber nirgends einen Hinweis darauf gefunden.

Grüße
Thorsten

Hallo,

hier findest du unter anderem solche Informationen: http://community.shopware.com/Downloads_cat_448.html . Bei größeren Sprüngen, wie beispielsweise von 5.1 zu 5.2 oder 5.2 zu 5.3 gibt es bei der 0er - Version dann immer einen Update - Guide, der dich hier: http://community.shopware.com/_detail_1921_441.html und am Ende hier: http://community.shopware.com/_detail_1923.html zum Checkboxfeld geführt hätte.

Beste Grüße

Sebastian