Voici la méthode la plus propre pour supprimer les publications :
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
Cela revient essentiellement à ce que l’utilisateur Système supprime manuellement chaque publication en utilisant le bouton de suppression. J’ai inclus skip_staff_log pour éviter de polluer vos journaux d’administration, mais vous pouvez le retirer si vous préférez que l’action soit enregistrée.
Pensez-vous que cela répondra à vos besoins ?