Wie man alte Whispers in großen Mengen löscht

Fortsetzung der Diskussion aus Administrative Bulk Operations:

Ich suche nach einer Möglichkeit, Flüstern über ein bestimmtes Alter hinweg aus allen Themen zu löschen.

Im Allgemeinen nutzen wir Flüstern, um potenzielle Moderatoraktionen zu besprechen. Sobald Maßnahmen ergriffen wurden, sind die Flüstern jedoch weniger nützlich und werden mit der Zeit zunehmend zu Rauschen.

Ich könnte Beiträge über ein bestimmtes Alter mit post_type=4 (Flüstern) löschen, aber dies könnte dazu führen, dass Dinge in der Datenbank hängen bleiben oder inkonsistent sind, oder es könnte aufgrund von Forumsschlüsseln nicht erlaubt sein.

Gibt es eine sichere Möglichkeit, dies zu tun?

Dies wäre der sauberste Weg, um die Beiträge zu löschen:

whispers = Post.where(post_type: 4).where("created_at < ?", 1.year.ago)

whispers.find_each do |w|
  PostDestroyer.new(Discourse.system_user, w, skip_staff_log: true).destroy
  putc "."
end

Dadurch wird im Wesentlichen so getan, als hätte der System-Benutzer jeden Beitrag manuell über die Löschschaltfläche auf dem Beitrag gelöscht. Ich habe skip_staff_log hinzugefügt, damit Ihre Mitarbeiter-Protokolle nicht verschmutzt werden, aber Sie können dies entfernen, wenn Sie lieber möchten, dass die Aktion protokolliert wird.

Denken Sie, dass dies Ihre Anforderungen erfüllt?

Ich finde, das sieht perfekt aus – danke!

Ich werde es auf einer Testinstanz ausprobieren und schauen, wie lange es dauert, denn wir haben wahrscheinlich ein paar tausend Flüstern!!!

Diese Aufgabe funktioniert also gut, danke schön… aber die Flüsternachrichten werden lediglich zusammengeklappt und sind für Administratoren und Moderatoren nach wie vor einsehbar, wenn sie ausgeklappt werden.

Das ordnet die Themen zwar auf, aber ich hatte gehofft, dass sie vollständig entfernt werden könnten. Ich habe mich gefragt, ob man alle Flüsternachrichten in ein neues Thema verschieben und dieses dann löschen oder zumindest für Moderatoren verstecken könnte, doch dann bin ich auf Folgendes gestoßen: Is there a way to remove all the deleted/hidden posts? Und kürzlich noch: Why is it not possible to permanently delete topics or posts?

Leider deuten die oben genannten Beiträge darauf hin, dass es keine Möglichkeit gibt, die Daten dauerhaft zu entfernen :frowning: