Neu tWarenkorbpos und tBestellung älter als 10 Jahre löschen

xadoX

Sehr aktives Mitglied
11. September 2012
664
70
Unsere Shop-Datenbank wird von Jahr zu Jahr immer größer. tBesucherArchiv war bisher unsere größte Tabelle, hier lassen wir mittlerweile durch den JTL-Shop GarbageCollector alle Einträge älter als 7 Tage löschen.

Die zweitgrößte Tabelle ist tWarenkorbpos mit 7 Millionen Einträgen.

Spricht etwas dagegen folgendes Deletes auszuführen?

SQL:
delete from tbestellung where derstellt < date_sub(now(), interval 10 year);
delete from tbestellstatus where kbestellung not in (select kbestellung from tbestellung);
delete from tbestellattribut where kbestellung not in (select kbestellung from tbestellung);
delete from tzahlungseingang where kbestellung not in (select kbestellung from tbestellung);
delete from twarenkorbpos where kwarenkorb not in (select kwarenkorb from tbestellung);
delete from twarenkorb where kwarenkorb not in (select kwarenkorb from tbestellung);
delete from twarenkorbposeigenschaft where kwarenkorbpos not in (select kwarenkorbpos from twarenkorbpos);
delete from tlieferschein where derstellt < unix_timestamp(date_sub(now(), interval 10 year));
delete from tlieferscheinpos where klieferschein not in (select klieferschein from tlieferschein);
delete from tlieferscheinposinfo where klieferscheinpos not in (select klieferscheinpos from tlieferscheinpos);
delete from tversand where klieferschein not in (select klieferschein from tlieferschein);
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: hula1499

NoOne

Sehr aktives Mitglied
16. März 2024
673
230
Dagegen spricht das du damit Inkonsistenzen zwischen Wawi- und Shop-DB schaffst. Die Wawi ist federführend, abgesehen von Shop exklusiven Inhalten wie z. B. eigene Seiten/Bewertungen/Blog. Wenn die Wawi dann einen alten Shopauftrag updaten möchte (aus welchem Grund auch immer), funktioniert der Abgleich nicht mehr. Wenn du das machen möchtest, dann solltest du die Bestellungen in der Wawi löschen (und vorher natürlich archivieren, z. B. als DB-Backup oder Ameisen-Export). Die Wawi sollte dann auch eine Löschanforderung an den Shop senden (hab ich schon länger nicht mehr probiert, hat sie zumindest mal). Falls das nicht klappt, kannst du die Aufträge dann auch mit dem SQL löschen.

Außerdem werden die Kunden die Bestellungen im Shop-Backend nicht mehr sehen können.
 

xadoX

Sehr aktives Mitglied
11. September 2012
664
70
Vielen Dank für eure Hinweise – das Thema Inkonsistenzen zwischen Wawi und Shop ist absolut nachvollziehbar.

Wenn ich euch richtig verstehe, wäre der korrekte Weg also:
  1. Bestellungen zuerst in der Wawi löschen (nach vorheriger Archivierung, z. B. DB-Backup oder Ameisen-Export).
  2. Die Wawi sendet anschließend eine Löschanforderung an den Shop.
  3. Der Shop bereinigt daraufhin automatisch die abhängigen Tabellen (Bestellstatus, Attribute, Zahlungseingänge, Warenkörbe etc.).
Ist das so korrekt?

Werden dabei tatsächlich alle referenzierten Tabellen sauber mitbereinigt (tBestellstatus, tBestellattribut, tZahlungseingang, tWarenkorb*, tLieferschein*, tVersand usw.), oder bleiben erfahrungsgemäß Reste zurück?



Hintergrund meiner Frage:

Wir stehen vor der Herausforderung, die DSGVO-konforme Löschung von Bestellungen älter als 10 Jahre umzusetzen – bei gleichzeitig wachsender Datenbankgröße.
Direktes SQL-Löschen im Shop erscheint mir aus den genannten Gründen riskant.

Daher meine konkrete Frage an euch:

Wie löst ihr in der Praxis die DSGVO-Pflicht zur Löschung alter Bestellungen, ohne Inkonsistenzen zwischen Wawi und Shop zu erzeugen?
  • Löscht ihr ausschließlich über die Wawi?
  • Nutzt ihr ein Archivsystem?
  • Oder geht ihr einen ganz anderen Weg?
Mir geht es darum, eine saubere, revisionssichere und technisch stabile Lösung zu etablieren – ohne mir mittelfristig Synchronisationsprobleme einzuhandeln.

Danke euch vorab für eure Erfahrungswerte.
 

xadoX

Sehr aktives Mitglied
11. September 2012
664
70
In der JTL-Wawi lassen sich Gastkonten aktuell leider nicht anonymisieren. Dadurch ist eine vollständige DSGVO-konforme Datenbereinigung derzeit nicht möglich.

JTL hat dazu nun einen Issue angelegt:
https://issues.jtl-software.de/issues/WAWI-87738

Wenn euch das Thema ebenfalls betrifft, stimmt bitte für den Issue ab. Je mehr Votes er erhält, desto höher ist die Wahrscheinlichkeit, dass die Funktion zeitnah umgesetzt wird und die Wawi hier wirklich DSGVO-konform wird.
 

Ähnliche Themen