Alte Nachrichten (automatisiert?) löschen lassen / manuell löschen

  • Hallo zusammen!


    Ich wünsch mir die Möglichkeit, auf Knopfdruck alte Nachrichten zu löschen um die DB zu verschlanken. Könnte mir vorstellen, das auf Wunsch gleich beim Anlegen des neuen Schuljahres mit erledigen zu lassen: "Nachrichten aus dem vor-Vorjahr löschen?"

    So alte Nachrichten vermisst sowieso keiner mehr ;)

    Alternativ oder zusätzlich könnte man das im Admin-Bereich unter "Nachrichten" ergänzen: z.B. Nachrichten löschen älter als XXX Tage (vorsichtshalber mindestens 3 Zahlen verlangen) oder "alle Nachrichten löschen, die vor dem XX.XX.XXXX versandt wurden.


    Könnte bis dahin ein SQL-Kundiger vielleicht meine Idee eines SQL-Codes dafür bestätigen? Beträfe in dem Fall alle Nachrichten älter als 01.09.2020 (Unix-Timestamp hinter 'messageTime' z.B. umzurechnen auf https://www.confirado.de/tools/timestamp-umrechner.html

    Wer kennt sich aus mit SQL - klappt das so? Bin grad zu faul die DB zu sichern und anschließend wieder einzuspielen ;)


    DELETE FROM `messages_messages` WHERE `messages_messages`.`messageTime` < 1598954400


    Danke und viele Grüße,

    Sebastian



    Wo kämen wir da hin, wenn alle sagten "Wo kämen wir da hin" und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

  • Selbst ist der Mann! Ich hab es jetzt mal mit o.g. Befehl probiert und es scheint geklappt zu haben: die Tabelle messages_messages ist geschrumpft - allerdings nur um ca. 10%, hätte mit mehr gerechnet. Hatte leider selbst keine ältere Nachricht mehr im Postfach um das Ergebnis zu prüfen, aber immerhin sind keine neueren Nachrichten bei mir verschwunden - ich werte das also als Erfolg ^^

    Wo kämen wir da hin, wenn alle sagten "Wo kämen wir da hin" und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

  • Hallo,

    habe mir von Chris mal folgenden SQL-Befehl zusammenbauen lassen, wobei die aufgelisteten IDs die der Lehrer und sonstiger besonderer User sind. Funktioniert zum Beginn jeder Sommerferien (nach Vorwarnung) gut. VG Jens


    DELETE from messages_messages WHERE


    (messages_messages.messageFolder='POSTEINGANG' OR messages_messages.messageFolder='GESENDETE' OR messages_messages.messageFolder='PAPIERKORB') AND


    messages_messages.messageUserID NOT IN (6,7,8,11,12,13,15,16,20,21,22,23,24,25,26,29,30,31,33,36,37,40,43,46,50,52,61,65,74,75,76,80,871,872,873,886,2794,2808,2859,3028,6069,6107,6135,6177,6230,6231,7119,7120,7383,7408,7489,7490,7491,7492,7493,7494,7733,7734,7782,7883,7898)

  • Sehr gute Idee, den Nutzerkreis einzuschränken! Noch schöner wäre es natürlich, das direkt in Abhängigkeit von der Rolle machen zu können statt einzelne IDs angeben zu müssen - aber wenn das direkt so von Chris kam, wird das schon seinen Grund haben...

    Wo kämen wir da hin, wenn alle sagten "Wo kämen wir da hin" und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?