Questo sarebbe il modo più pulito per eliminare i post:
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
In pratica, questo farà sì che sia come se l’utente di Sistema avesse eliminato manualmente ogni post utilizzando il pulsante di eliminazione sul post. Ho incluso skip_staff_log in modo da non intasare i tuoi log dello staff, ma puoi rimuoverlo se preferisci registrare l’azione.
Credi che questo soddisfi le tue esigenze?