Can the topic count for a category be forced to update after the topics have been moved to a different category?
I used this method to move topics around after merging two forums, but the counts are still off after 1.5 days.
https://meta.discourse.org/t/bulk-move-many-topics-from-one-category-to-another/38704/2
If you execute either of these, category stats will be wrong but should fix themselves after a day.
إعجاب واحد (1)
Shouldn’t the category counts rebuild after a day @neil ?
fefrei
(Felix Freiberger)
30 أكتوبر 2017، 9:20ص
3
It would be nice if they did! However, that didn’t work out for us when we did a similar move .
The following Ruby code, executed in the Rails console, will either fix the issue or set your database on fire , so backup accordingly
Category.find_each { |c|
c.topic_count = Topic.where(category: c).count - 1 # -1 for about post
c.save!
}
(I’d still love for these to be re-counted occasionally, just as I’d do for post counts )
3 إعجابات
neil
(Neil Lalonde)
30 أكتوبر 2017، 5:39م
4
Yes this is happenings once a day , doing this to update the counts:
https://github.com/discourse/discourse/blob/master/app/models/category.rb#L137-L151
Seems to work for me.
@fefrei @omarfilip Please go to sidekiq scheduler (/sidekiq/scheduler
) and see what the last run of CategoryStats shows.
3 إعجابات
I’ve triggered mine manually yesterday so the scheduler won’t mean much right now:
The manual triggering of CategoryStats did not change the counts, though.
I ran Felix’s ruby code earlier today and that dropped the topic counts in the empty categories. It did not increase the topic count elsewhere like I thought it would.
إعجابَين (2)
fefrei
(Felix Freiberger)
30 أكتوبر 2017، 6:02م
6
I had also triggered that job manually, as far as I recall. It completed successfully, but had no effect.
إعجابَين (2)
jerdog
(Jeremy M)
23 يناير 2018، 2:27م
7
Mine also ran but didn’t change the counts. I also have one which is -1
as well.
I will run the code from @fefrei and see if that makes a difference.
Edit: running the code worked in the rails console
3 إعجابات