Wie alle Artikel löschen?

Ich habe in meiner Testumgebung rund 2.000 Artikel mit Artikelbildern. Wie kann ich diese nun alle löschen?

Leere CSV hochladen und “alle nicht importierte löschen” anklicken oder in der Datenbank löschen…?!

[quote=“lampenstar”]Leere CSV hochladen und “alle nicht importierte löschen” anklicken oder in der Datenbank löschen…?![/quote] Ersteres kenne ich aus 3.5.x, in Shopware 4.0 gibt es dieses Häkchen leider nicht. Deswegen ja auch meine Frage. Und die Artikel einfach in der Datenbank löschen, ist mir irgendwie zu unsicher, da ich vermeiden will, dass verknüpfte Daten bzw. die Artikelbilder verwaisen und auf dem Server zurückbleiben. Es muss doch eine saubere Lösung geben?

Lösche alles und installiere eine frische Version ohne Demo-Daten.:wink:

[quote=„Ami“]Lösche alles und installiere eine frische Version ohne Demo-Daten.;)[/quote] Ähm…?! Und der Rest meiner Daten? Nein, das ist es auch nicht. Es handelt sich nicht um Demo-Daten, sondern um 2000 eigene Artikel, die ich beim Experimentieren mit Import/Export eingefügt hatte. Nun will ich aber alle wieder löschen.

Und die Lösung dafür?

php-script schreiben. Artikel+verknüpfte daten auslesen, db-einträge löschen, dateien löschen, fertig

Artikel / Übersicht -> Alle markieren -> Artikel Löschen ?!?!

Ja - das würde mich auch interessieren. Bei der alten Version gab es eine Option beim Import und in der Artikelübersicht konnte man wenigstens 500 Artikel gleichzeitig löschen - beides geht in der 4er nicht mehr, oder?

Ich finde das echt seltsam, dass es nicht möglich ist seine Artikel zu löschen… Gibt es nicht schon irgendeine Möglichkeit, bzw ist überhaupt noch eine geplant? LG Michael

Brauch die Funktion auch und habe das gleiche Problem. Mach es gerade händisch in 250er Schritten, was eine Katastrophe ist.

Hallo Enid, selbst die 250er Schritte sind meiner Meinung nach schon ein großer Sprung nach vorne, denn vor Version 4.0.5 gab es nur 25er Schritte und dass machte es bei über 8000 Artikeln wirklich unmöglich sie so zu löschen. Ich habe es dann in der Datenbank gemacht. DELETE FROM [Tabelle] [Tabelle] ersetzt du einfach durch die Tabellennamen die du löschen möchtest. Aber Achtung sind gleich mehrere Tabellen zu löschen. Im prinzip jene mit s_articles_ Allerdings kannst du natürlich z.B. deine Lieferanten behalten wenn du das willst, indem du die Tabelle s_articles_suppliers nicht leerst. LG Michael

Ist zwar schon ein älteres Thema, aber vielleicht sucht ja jemand noch mal eine Lösung zu dem Thema. Ich nutze dafür immer das Migrations-Tool. Hier kann man eine ganze Menge mit einem Klick löschen.

Hallo, am schnellsten geht es einfach über die Datenbank http://wiki.shopware.de/Datenbank-zurue … _1445.html Sebastian

1 „Gefällt mir“

SELECT articleID FROM s\_articles\_details; Anschließend mit meiner „for“ oder „foreach“ Schleife alles per RestAPI löschen. So bekommste alle Artikel sauber aus der Datenbank, alles andere bleibt unberührt.

[quote=“kadis”]SELECT articleID FROM s\_articles\_details; Anschließend mit meiner “for” oder “foreach” Schleife alles per RestAPI löschen. So bekommste alle Artikel sauber aus der Datenbank, alles andere bleibt unberührt.[/quote] Hm, sorry find keinen vorherigen Beitrag hier von dir. :slight_smile: Kannst du mir das etwas erläutern? Danke!

Hy, du schreibst dir ein PHP Script das diese Aufgabe für dich erledigt. Dabei greifst du auf die RESTAPI Schnittstelle von Shopware zu. Da du aber die IDs der Artikel brauchst, damit die RestAPI auch die Artikel findet, holst du dir vorher per SQL alle IDs aus der Datenbank. Dann per Schleife alle IDs abklappern und über die Schnittstelle löschen. Eben hier in die Wiki schauen zur RestAPI. Dort erfährst du wie man darüber Artikel löscht.

1 „Gefällt mir“

Quick and dirty shell script. Keine Garantie auf Richtigkeit. Ich habe damit aus meinem Shop 10969 Artikel in 5 Minuten entfernt.

while true; do
	wget -q -L --user= --password= 'http:////api/articles/' -O - | egrep -o '"id":[0-9]+' | cut -d: -f2 | while read id; do
		if [["$id" == ""]]; then
			break 2;
		fi;
		echo -n "Deleting ID $id ";
		wget -q -L --user= --password= --method=DELETE "http:////api/articles/$id" -O /dev/null;
		echo "OK";
	done;
done

Vielleicht nützt es jemandem was.

Da wir gerade das gleiche Thema hatten.

Hier eine einfach Lösung für alle ohne Programmier Kenntnisse.

 

*Im Plugin Manager das Tool Shopware Migration laden 

*Im Tool dann alle Artikel und oder alles gewünschte auswählen 

*und löschen

 

Dauert nur ein paar Sekunden und alles ist raus