Shopware 6 – Datenbank bereinigen via SQL, Rechnungen und Bestellungen löschen

Hi All,

nach der Einrichtung eines neuen Shopware 6 Webshops wollte ich alle Testdaten wie Bestellungen, Lieferscheine, Rechnungen und Kunden löschen. Um die Funktionalität des Shops zu testen, bedarf es Testkäufe. Leider bietet Shopware keine Möglichkeit das aktuelle Design zu behalten und trotzdem nach der Testphase mit einem sauberen System zu starten.

In solchen Fällen kann die direkte Bearbeitung der Datenbank durch SQL-Abfragen erforderlich sein.  Hier gibt es nun die Anleitung, wie Ihr mit einem SQL Editor die Tabellen in der Datenbank leeren könnt.

WICHTIG! –> Alle Einträge sind über Foreign Keys miteinander verbunden und daher ist es nicht möglich einfach die Bestellungen zu löschen
Eine mögliche Lösung besteht darin, vorübergehend die Fremdschlüsselüberprüfung in der Datenbank zu deaktivieren, um das Löschen zu ermöglichen, und sie dann wieder zu aktivieren, um die Datenintegrität zu gewährleisten.

Solltet Ihr damit also einmal Probleme haben, hilft dieser Befehl:

SET FOREIGN_KEY_CHECKS = 0;

Im Anschluss nicht vergessen den Check wieder einzuschalten:

SET FOREIGN_KEY_CHECKS = 1;

In unserem Beispiel ist das aber nicht notwendig…

Bevor du jedoch mit diesen Schritten fortfährst, solltest du sicherstellen, dass du die erforderlichen Berechtigungen hast und ein Backup deiner Datenbank erstellt hast, um unerwünschte Datenverluste zu vermeiden.

Um die Tabellen in der Datenbank zu leeren, kannst du beispielsweise den SQL-Editor in phpMyAdmin verwenden.

Verbindet Euch via pypMyAdmin und klickt auf die Tabelle document

SQL Tabelle document

Jetzt seht Ihr alle generierten Dokumente – Bestellungen, Lieferscheine und Rechnungen, wobei jeder Eintrag für ein einzelnes Dokument steht:

alle generierten Dokumente - Bestellungen, Lieferscheine und Rechnungen in Shopware 6

Wenn ihr alles löschen wollt, wählt einfach „Alles auswählen“ und klickt auf löschen:

Somit ist die Tabelle komplett leer und wir können mit dem Löschen der Bestellungen fortfahren.
Hierzu öffnet order

Auch hier werden alle Einträge markiert und gelöscht!

WICHTIG! –> Um das gewünschte Ergebnis im Shop zu sehen müsst Ihr den Cache löschen und die Seite erneut laden.

Viel Erfolg beim Bereinigen deines Shopware 6 Webshops und beim Testen seiner Funktionalitäten! =)

Greetings
Franky