Wie Gewichte (von 1000 Artikeln/Varianten) am besten importieren?

Hallo zusammen,

da der Versand nun doch nach Gewicht berechnet werden soll, müssen Gewichte für ca. 1000 Artikel bzw. Varianten nachgetragen werden.

Es liegt eine CSV-Datei mit den Artikelnummern und Gewichten vor.

Wie würdet ihr das machen bzw. wie ist da der beste Weg? Geht da ein Import? Eigenes Profil anlegen?

Habe die Dokumentation schon überflogen aber mit dem Export/Import in SW6 noch nicht wirklich gearbeitet. Geht der Import überhaupt nur mit der Artikelnummer als Referenz? Oder habe ich das richtig verstanden und müsste erst einen Export mit den Pflichtangaben bzw. Ids etc. erstellen, dort die Artikelnummern suchen, jeweils die Gewichte ändern und dann wieder importieren?

In der CSV-Datei wird es Artikel bzw. Artikelnummern geben, die momentan im Shop nicht existieren. Müsste man die vorher raussuchen, falls ein direkter Import ginge, oder können die Daten übersprungen werden?

Oder besser alles direkt über die Datenbank, SQL select, join, where und so? Müsste ich mir allerdings auch erst noch angucken, was ich da genau machen muss, da sind zwar Grundkenntnisse vorhanden, halten sich aber in Grenzen.

Händisches Eintragen aller Gewichte über das Backend würde ich möglichst gerne vermeiden :smiley:

Beste Grüße
Sandra

Moinsen, nach meiner Erfahrung ist der sicherste und schnellste Weg der, direkt über die DB. Wenn Du schon den Zugriff hast, solltest Du den nutzen.

Das Gewicht wird direkt in der Tabelle „product“ eingetragen. Insofern, auch bei Varianten kein riesen Ding. Wenn Du Hilfe brauchst, sag Bescheid und gib mal 2 -3 Zeilen aus Deiner CSV.

Danke dir, habe mir schon gedacht, dass es über die DB am besten geht - wenn man weiß wie :smiley:

Dann werde ich mir die product-Tabelle mal kopieren und mir das anschauen/testen, bevor ich irgendwas live mache.

Die CSV-Datei enthält die Artikelnummern und das Gewicht und noch ein paar andere Spalten, die für den Shop aber nicht relevant sind. Wenn ich diese rausnehme, bleibt etwas übrig wie:

productNumber | weight
51.100.6024 | 0,154
51.100.6025 | 0,064
51.100.6026 | 0,234

etc.

Es gibt aber auch Zeilen bzw. Artikelnummern, die im Shop nicht vorhanden sind, die sollen nicht übernommen werden. Und die Reihenfolge stimmt auch nicht mit der DB-Tabelle überein.

Nach meinem Verständnis müsste dann ja quasi Zeile für Zeile die Artikelnummer in der DB-Tabelle gesucht werden und dort, wo sie gefunden wird, das Gewicht geändert werden.

Ich habe nur keinen Plan, wie das mit einer CSV geht. Wird das beim Import automatisch geprüft, doch eigentlich nicht oder? Muss ich erst eine neue DB-Tabelle mit den CSV Daten anlegen und die dann irgendwie über SQL mit der product-Tabelle zusammenbringen?

Also, welches Tool verwendest Du für den Zugriff auf die DB? PhpMyAdmin, Adminer, Heidi etc? Leg Dir als erstes eine Tabelle an, die Du für Deine CSV verwendest. Die kannst Du später wieder löschen. Setze einen Index auf das Feld, welches die ProductNumber enthält. Mach Dir auch gern eine Kopie der product-Tabelle (z.B. mit CREATE TABLE copyProduct AS SELECT * FROM product ). Danach käme das Update zB. mit UPDATE product AS prd, csvTabelle AS csv SET prd.weight = csv.GewichtsSplate WHERE prd.product_number = csv.ProductNumberSplate. Thats ist. Pass auf die Verwendung von Komma und Punkt bei den Gewichten auf. Weight ist als Decimal deklariert.

Ich verwende phpMyAdmin. Ich werd mir die DB bzw. Tabelle mal kopieren später und es testen.

Ich verstehe den Ansatz, krieg ich glaub ich hin.

Danke dir!!