Shopware 5: Alle Kunden und Bestellungen löschen
Inhaltsverzeichnis
Shopware ist ein sehr beliebtes Shopsystem, welches auch gerne für andere Projekte dupliziert wird. Es kann auch schon mal vorkommen, dass man alle Kunden oder Bestellungen löschen, aber die ganzen globalen Einstellungen behalten möchte. Jedoch ist es nicht möglich im Backend alle Kunden und Bestellungen gleichzeitig zu löschen. Besonders mühsam wird es, sobald die Kunden und Bestellungen an die 10.000+ angelangt sind.
MySQL Datensätze bearbeiten mit phpMyAdmin
Hilfe schafft uns hier das arbeiten direkt in der Datenbank MySQL. Mittels einfacher MySQL Queries können somit alle Datensätze in den Tabellen entfernt werden. Dies spart ordentlich Zeit und Nerven. Ich arbeite sehr gerne mit der freien Webanwendung phpMyAdmin (pMA), welches bei den meisten Anbietern bereits installiert sein sollte. Mit pMA könnt ihr Datenbanken anlegen und löschen, Datensätze auflisten, Tabellen anlegen, löschen und exportieren, Spalten hinzufügen und Benutzer verwalten.
Mit dem MySQL Befehl Truncate löscht ihr alle Datensätze einer Tabelle ohne dessen Struktur zu verändern. Direkt aus dem englischen übersetzt bedeutet Truncate kürzen oder verkürzen, in MySQL bedeutet es aber eher Datensätze in einer Tabelle zu entleeren.
Alle Shopware 5 Kunden löschen
Mit den folgenden MySQL Befehlen löscht ihr alle Kunden aus Shopware 5:
TRUNCATE `s_user`; TRUNCATE `s_user_addresses`; TRUNCATE `s_user_addresses_attributes`; TRUNCATE `s_user_attributes`; TRUNCATE `s_user_billingaddress`; TRUNCATE `s_user_billingaddress_attributes`; TRUNCATE `s_user_shippingaddress`; TRUNCATE `s_user_shippingaddress_attributes`;
Alle Shopware 5 Bestellungen löschen
Mit den folgenden MySQL Befehlen löscht ihr alle Bestellungen aus Shopware 5:
TRUNCATE s_order; TRUNCATE s_order_attributes; TRUNCATE s_order_basket; TRUNCATE s_order_basket_attributes; TRUNCATE s_order_billingaddress; TRUNCATE s_order_billingaddress_attributes; TRUNCATE s_order_comparisons; TRUNCATE s_order_details; TRUNCATE s_order_details_attributes; TRUNCATE s_order_documents; TRUNCATE s_order_documents_attributes; TRUNCATE s_order_esd; TRUNCATE s_order_history; TRUNCATE s_order_notes; TRUNCATE s_order_shippingaddress; TRUNCATE s_order_shippingaddress_attributes;
Nun sollten alle Kunden und Bestellungen in Shopware 5 gelöscht sein. Sollte dies nicht der Fall sein, kann es sein, dass je nach Einstellung und Version des MySQL Servers zu deinem MySQL Error (foreign key constraint) kommen kann.
MySQL Foreign-Keys-Prüfung (Fremde Schlüssel)
In einigen Fällen kann es je nach Einstellung und Version des MySQL Servers zu einem MySQL Error kommen: #1701 – Cannot truncate a table referenced in a foreign key constraint. Hierzu muss die Foreign-Key-Prüfung in der 1. Zeile vor den TRUNCATE Befehlen abgeschaltet (SET foreign_key_checks = 0;) und in der letzten Zeile wieder eingeschaltet (SET foreign_key_checks = 1;) werden. Die MySQL Queries würden wie folg aussehen:
Kunden (foreign key)
SET foreign_key_checks = 0; TRUNCATE `s_user`; TRUNCATE `s_user_addresses`; TRUNCATE `s_user_addresses_attributes`; TRUNCATE `s_user_attributes`; TRUNCATE `s_user_billingaddress`; TRUNCATE `s_user_billingaddress_attributes`; TRUNCATE `s_user_shippingaddress`; TRUNCATE `s_user_shippingaddress_attributes`; SET foreign_key_checks = 1;
Bestellungen (foreign key)
SET foreign_key_checks = 0; TRUNCATE s_order; TRUNCATE s_order_attributes; TRUNCATE s_order_basket; TRUNCATE s_order_basket_attributes; TRUNCATE s_order_billingaddress; TRUNCATE s_order_billingaddress_attributes; TRUNCATE s_order_comparisons; TRUNCATE s_order_details; TRUNCATE s_order_details_attributes; TRUNCATE s_order_documents; TRUNCATE s_order_documents_attributes; TRUNCATE s_order_esd; TRUNCATE s_order_history; TRUNCATE s_order_notes; TRUNCATE s_order_shippingaddress; TRUNCATE s_order_shippingaddress_attributes; SET foreign_key_checks = 1;
Hast du schon einmal alle Kunden und Bestellungen in Shopware 5 löschen müssen? Wenn ja, wie hast du es gemacht? Teile mir deine Erfahrungen und Tipps gerne in den Kommentaren mit!
Kommentare sind nach Datum aufsteigend sortiert.
Danke für den hilfreichen Beitrag, habe es in unserem Staging Umgebung Beitrag ergänzt und diesen hier als Quelle verlinkt.
VG, Atilla