هذه هي أنقى طريقة لحذف المنشورات:
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
ستعمل هذه الطريقة فعليًا كما لو أن مستخدم النظام قد حذف كل منشور يدويًا باستخدام زر الحذف الموجود في المنشور. لقد أضفت skip_staff_log حتى لا تملأ سجلات الطاقم، ولكن يمكنك إزالتها إذا فضلت تسجيل الإجراء.
هل تعتقد أن هذا سيُلبّي احتياجاتك؟