diff --git a/lib/tasks/posts.rake b/lib/tasks/posts.rake index 326c08858ea..6814c5c0932 100644 --- a/lib/tasks/posts.rake +++ b/lib/tasks/posts.rake @@ -202,3 +202,23 @@ task 'posts:delete_all_likes' => :environment do DirectoryItem.update_all(likes_given: 0, likes_received: 0) # clear user directory likes stats puts "", "#{likes_deleted} likes deleted!", "" end + +desc 'Defer all flags' +task 'posts:defer_all_flags' => :environment do + + active_flags = FlagQuery.flagged_post_actions('active') + + flags_deferred = 0 + total = active_flags.count + + active_flags.each do |post_action| + begin + PostAction.defer_flags!(Post.find(post_action.post_id), Discourse.system_user) + print_status(flags_deferred += 1, total) + rescue + # skip + end + end + + puts "", "#{flags_deferred} flags deferred!", "" +end