Verwaiste Drafts entfernen
Abgebrochene Arbeitskopien in order und order_line_item, älter als das Mindestalter (Standard 7 Tage). Die Live-Version wird nie angefasst.
Shopware-Datenbank planbar aufräumen - verwaiste Bestell-Versionen, Version-Commits, alte Logs. Mit Vorschau, Protokoll und automatischem Lauf.
Übersicht, Analyse und Vorschau - so, wie sie im Shopware-Admin erscheinen.
Jede Bearbeitung einer Bestellung im Admin legt eine Arbeitskopie an. Wird sie abgebrochen, bleibt sie liegen. Über Monate werden daraus zehntausende Zeilen, bis Admin-Formulare in Timeouts laufen. Das Plugin findet und entfernt diese Reste, planbar und sicher.
Abgebrochene Arbeitskopien in order und order_line_item, älter als das Mindestalter (Standard 7 Tage). Die Live-Version wird nie angefasst.
Bereinigt Version-Commits ohne Live-Bezug, auf Wunsch im Aggressiv-Modus auch alle älteren Commits. Empfohlen nach großen Bereinigungen.
Löscht Einträge in log_entry ab einem Mindestalter, Standard 30 Tage.
Zeigt die größten Tabellen und gibt mit OPTIMIZE TABLE den Platz wirklich frei, denn InnoDB markiert gelöschte Seiten sonst nur als frei.
Listet Bestellungen mit ungewöhnlich vielen Versionen, standardmäßig mehr als fünf.
Bestell-, Zahlungs- und Lieferstatus liegen in state_machine_history und bleiben erhalten. Abhängige Tabellen räumen sich über die Fremdschlüssel mit auf.


Datenbank-Aufräumen ist heikel, gelöschte Zeilen sind weg. Drei Mechanismen sorgen dafür, dass nichts schiefgeht.
Die Vorschau zeigt erst, was gelöscht würde. Das Protokoll hält jeden echten Lauf fest. Die automatische Bereinigung läuft nach festen Regeln statt nach spontanen Klicks.
Die Vorschau im Admin und bin/console staw:order-versions:analyze zeigen die Menge, ohne etwas zu löschen.
Jeder echte Lauf wird mit Zeitpunkt, Auslöser, Benutzer, Anzahl gelöschter Zeilen und Dauer protokolliert, egal ob aus dem Admin, per Konsole oder automatisch.
Stündlich, alle 2, 6 oder 12 Stunden, täglich oder wöchentlich per Scheduled Task. Dafür muss ein Worker laufen.
Die Oberfläche für den Alltag, die Konsole für sehr große Tabellen ohne HTTP-Timeout.
Standard sind sieben Tage. Mit 0 fällt der Altersfilter weg, das kann aktive Bearbeitungen zerstören.
Zeilen pro DELETE zwischen 100 und 1.000.000, Standard 50.000. Höher ist schneller, sperrt die Tabellen aber länger.
Ein laufender Vorgang lässt sich abbrechen. Begonnene Batches werden sauber zu Ende geführt, damit die Datenbank konsistent bleibt.
Protokolleinträge werden standardmäßig 365 Tage aufbewahrt, 0 bedeutet unbegrenzt.
Ein Diagnose-Endpoint liefert exakte Zählungen und einen Test-DELETE, der sofort zurückgerollt wird. Er verändert nichts.
Gelöschte Zeilen sind weg. Leg vor dem ersten Lauf ein Datenbank-Backup an.
Eigener Scheduled Task, Konsolenbefehle, Batch-Verarbeitung. Keine Core-Eingriffe.
bin/console staw:order-versions:analyze zeigt, was gelöscht würde. bin/console staw:order-versions:clean --age-days=7 --batch-size=50000 räumt auf, mit Fortschrittsanzeige.
Bei großen Tabellen: Backup, dann die Konsole in einer tmux- oder screen-Sitzung nutzen. Danach die automatische Bereinigung täglich mit sieben Tagen Mindestalter aktivieren.
OPTIMIZE TABLE `order`, `order_line_item`; gibt den Platz an das Dateisystem zurück. Außerhalb der Geschäftszeiten ausführen.
Läuft mit dem Admin-Worker oder messenger:consume. Ohne aktiven Worker passiert nichts.
GET /api/_action/staw-order-version-cleaner/diagnose zeigt Zählungen und Beispiel-IDs, ohne Daten zu ändern.
Zwei Wege, derselbe Funktionsumfang - such dir aus, was besser zu deinem Setup passt.
Alle Preise netto zzgl. USt.
Lade die kostenlose Plugin Suite herunter und spiele sie im Admin ein, ganz ohne SSH. Darüber installierst und aktualisierst du das Plugin mit einem Klick. Die Lizenz kaufst du direkt bei uns, mit Rechnung von uns und Support direkt vom Entwickler.
Das Plugin wird im offiziellen Shopware Community Store gelistet. Installation und automatische Updates laufen dann über den Plugin Manager im Backend, die Abrechnung über deinen Shopware-Account. Sobald verfügbar, verlinken wir es hier.
Eine häufige Ursache sind verwaiste Bestell-Versionen. Bei jeder Bearbeitung einer Bestellung im Admin legt Shopware eine Arbeitskopie in order und order_line_item an. Wird die Bearbeitung abgebrochen, bleibt sie liegen. Über Monate summiert sich das, bis Admin-Formulare in Timeouts laufen.
Gelöscht werden nur Versionen, die nicht die Live-Version sind und älter als das Mindestalter, standardmäßig sieben Tage. Bestell-, Zahlungs- und Lieferstatus bleiben erhalten, abhängige Tabellen räumen sich über die Fremdschlüssel mit auf.
Ja. Die Vorschau im Admin und der Befehl bin/console staw:order-versions:analyze zeigen die Menge, ohne etwas zu löschen. Jeder echte Lauf wird mit Zeitpunkt, Auslöser, Benutzer, Anzahl und Dauer protokolliert.
InnoDB markiert gelöschte Seiten nur als frei. Den Speicherplatz gibt erst OPTIMIZE TABLE an das Dateisystem zurück. Weil der Befehl die Tabellen kurz sperrt, führst du ihn außerhalb der Geschäftszeiten aus.
Auf Wunsch ja: stündlich, alle 2, 6 oder 12 Stunden, täglich oder wöchentlich über einen Scheduled Task. Dafür muss ein Worker laufen, also der Admin-Worker oder messenger:consume.
Der Direktbezug kostet 4,99 Euro netto im Monat oder 50,90 Euro netto im Jahr. Bei jährlicher Zahlung sparst du 15 Prozent. Alle Preise verstehen sich zuzüglich Umsatzsteuer.