Wie tausende persönliche Nachrichten löschen?

Dieses alte Thema noch einmal aufgreifend, da keine der Antworten zu 100 % korrekt ist.

Die Rake-Aufgabe rake destroy:private_messages löscht private Nachrichten nicht endgültig, sondern weich. Sie können immer noch von einem Administrator eingesehen und wiederhergestellt werden.

Der Rails-Code Topic.where(archetype: 'private_message').where("user_id > 0").destroy_all löscht die Themen, aber nicht die eigentlichen Nachrichten. Sie befinden sich immer noch in der Datenbank und können beispielsweise mit dem Data Explorer Plugin eingesehen werden.

Dieser Code löscht alle privaten Nachrichtenbeiträge und -themen dauerhaft:
Warnung: scharfes Messer hier!

Post.where(topic_id: Topic.where(archetype: 'private_message').where("user_id > 0")).destroy_all
Topic.where(archetype: 'private_message').where("user_id > 0").destroy_all

(und um dies auf Themen mit 100 oder mehr Antworten zu beschränken, müssen Sie Topic.where in beiden Zeilen um where("posts_count > 100") erweitern)

6 „Gefällt mir“