From 41e3d7f05710616d096ebc90ebf4ef23fca3a595 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Fri, 7 Aug 2015 15:33:13 -0700 Subject: [PATCH] addresses #2171: daily maintenance task to clean up negative post count tags --- app/logical/daily_maintenance.rb | 1 + app/models/tag.rb | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/logical/daily_maintenance.rb b/app/logical/daily_maintenance.rb index 5652f185d..c703397fe 100644 --- a/app/logical/daily_maintenance.rb +++ b/app/logical/daily_maintenance.rb @@ -15,5 +15,6 @@ class DailyMaintenance ForumSubscription.process_all! TagAlias.update_cached_post_counts_for_all PostDisapproval.dmail_messages! + Tag.clean_up_negative_post_counts! end end diff --git a/app/models/tag.rb b/app/models/tag.rb index 7db928dbf..8705ac511 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -57,6 +57,12 @@ class Tag < ActiveRecord::Base Tag.where(:name => tag_names).update_all("post_count = post_count - 1") Post.expire_cache_for_all(tag_names) end + + def clean_up_negative_post_counts! + Tag.where("post_count < 0").find_each do |tag| + tag.fix_post_count + end + end end def real_post_count