Ähm ...... also Deine Kunden legen ein Konto an und kommen nach 4 Wochen wieder und ihre Daten sind weg .... Kein Login geht mehr, keine Bestellhistorie, kein "Ihre zuletzt angesehenen Artikel"
Technisch sicherlich machbar, sinvollerweise dann nur Bestellung als Gast, mit automatischem Löschen des Gastkontos. Bin kein Vollprofi in der Datenbankstruktur des Shops, aber so würde ich vorgehen:
Man müsste sämtliche "orders" Tabellen ermitteln,
SHOW TABLES LIKE "order%"
Das Ergebnis über eine Schleife schicken:
foreach ($tables as $table) {
$query="SELECT * FROM ". $table;
.....
}
Dann die Ergebnisse speichern, ab besten als CSV Daten.
Alle orders Tabellen enthalten eine orders_id.
Die höchste sollte man jetzt ermitteln:
SELECT MAX(orders_id) FROM orders
Dann würde ich davon 10 abziehen um Kollisionen zwischen dem Löschen und gerade aktiven Kunden zu vermeiden und alle niedrigeren Datensätze löschen. Also nochmal alle Tabellen durch eine Schleife:
foreach ($tables as $table) {
$query="DELETE FROM ". $table . " WHERE orders_id < $max_orders_id -10;
.....
}
Die customers Tabelle einfach mal beobachten, wenn nur Gastkonten mit automatischer Löschung erlaubt sind. Wenn da Reste bleiben, kann man die so ähnlich entfernen.
Die CSV Dateien könnte man im gleichen Script auch noch per FTPS oder SFTP oder email versenden und im Erfolgsfall direkt löschen.
Ich schätze ich bräuchte ein bis zwei Tage für die Programmierung + Test.