Users are discussing methods to move large numbers of topics between categories in Discourse, particularly for categories with up to 34,000 topics. junaid_pk14 initially tried the method from meta.discourse.org but found it inefficient for bulk moves, and explored using the Rails console for manual operations. pfaffman suggests renaming the category as a simpler alternative, but junaid_pk14 clarifies this won’t work for merging two large categories. charleswalter shares experience using keyboard macros (e.g., Keyboard Maestro) to automate topic selection for large moves, noting that a built-in bulk move tool would be helpful but is low priority. codinghorror advises using the command line on the server for moving thousands of topics. Separately, thaidb asks how to move all topics from a category to a tag, aiming to replace categories with tags entirely. pfaffman mentions possible examples exist and offers paid assistance if needed. The discussion highlights workarounds for bulk category moves and interest in tagging as an alternative to categories.
We want to move all articles from 1 category to the other, Our categories article count range is from 10 to 34,000. We tried the way mentioned here https://meta.discourse.org/t/move-topics-to-new-category/21313 and it works well for few topics. Is there any other tool that help us to achieve this?
I checked myself in rails code and found a way to achieve this manually using rails console by following this piece of code
operator = TopicsBulkAction.new(current_user, topic_ids, operation, group: operation[:group])
changed_topic_ids = operator.perform!
Yes this would work well in some case but if we have 2 categories and each have 1000 topic and we want to merge them then this would not work. Thanks for good idea.
I have had to make some large moves in the past to remove unpopular categories. The only thing to keep me sane is relying on a keyboard macro tool to handle some of the repetition of selecting the topics (x tabs and space). I use https://www.keyboardmaestro.com/main/
Ultimately, would be nice to have a bulk move tool in Discourse, but understandably not a priority since it is not something used that often