Bulk move many topics from one category to another

AI-generated summary

Bulk Move Many Topics from One Category to Another

tobiaseigen is looking to consolidate multiple categories into one and wants to bulk move many topics without bumping them. They also want to tag topics with a category-equivalent tag before moving them.

Bulk Tag/Move Topics through the UI:

For small categories or subsets of topics, the bulk selection tool can be used.

Move All Topics from One Category to Another:

To do this, enter the site’s container and use the following rake tasks:

  1. Find category IDs: rake categories:list
  2. Move topics: rake categories:move_topics[<starting_category_id>,<destination_category_id>]

Bulk Tag All Topics Within a Category:

To convert a category to a tag, use the following rake task:

rake tags:bulk_tag_category["<tag>|<tag>",<category_id>]

This will remove existing tags. To append tags instead, add true as a third argument:

rake tags:bulk_tag_category["<tag>|<tag>",<category_id>,true]

Important: Take a backup before making major bulk changes and be aware of notification settings.

Is there a query to bulk move many topics from one category to another? I want to consolidate many categories into one category and would like to make the move quickly and all at once, and also not bump the topics.

Bonus: also want to tag topics first with a category-equivalent tag before moving them.

Grateful for any queries or recipes. Many thanks! I’d even write it up as a howto topic if it’s good. :slightly_smiling:

I’ve gone ahead and cleaned up this topic and have added the current best options for solving the questions in the OP. If there’s anything missing or if you notice and issues, please feel free to respond.

:warning: Take backup before you make major bulk changes just in case…

Bulk tag/move topics through the UI:

For small categories, or subsets of topics, the bulk selection tool may be enough (see note at the end of this posts on notifications).

Move all topics from one category to another

First enter your site’s container:

cd /var/discourse
./launcher enter app

Bulk Tag All Topics Within a Category:

First enter your site’s container:

cd /var/discourse
./launcher enter app

I’m not 100% sure what types of notifications if any these methods trigger, but if you are concerned and want to be absolutely sure that notifications aren’t sent out, I would recommend checking the following settings while working on this:

  • disable_category_edit_notifications
  • disable_tags_edit_notifications

@tshenry you just saved my day! Thank you so muchhhh