Come eliminare migliaia di Messaggi Personali?

Ritornando su questo vecchio argomento, dato che nessuna delle risposte è corretta al 100%.

Il rake task rake destroy:private_messages non elimina definitivamente tutti i messaggi privati, li elimina in modo “soft”. Possono ancora essere visti da un amministratore e possono essere recuperati.

Il codice Rails Topic.where(archetype: 'private_message').where(\"user_id \u003e 0\").destroy_all elimina gli argomenti, ma non i messaggi effettivi. Sono ancora nel database e possono essere visualizzati utilizzando, ad esempio, il plugin data explorer.

Questo codice eliminerà definitivamente tutti i post e gli argomenti dei messaggi privati:
attenzione: coltello affilato qui!

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

(e per filtrare questo su argomenti con 100 o più risposte è necessario estendere Topic.where con where(\"posts_count \u003e 100\") in entrambe le righe)

6 Mi Piace