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:

Я привёл эту тему в порядок и добавил лучшие на данный момент варианты решения вопросов из исходного сообщения. Если что-то упущено или вы заметили ошибки, пожалуйста, не стесняйтесь ответить.

:warning: Перед внесением крупных массовых изменений обязательно сделайте резервную копию на всякий случай…

Массовая тегирование/перемещение тем через интерфейс:

Для небольших категорий или подмножеств тем может быть достаточно инструмента массового выбора (см. примечание в конце этого сообщения о уведомлениях).

Перемещение всех тем из одной категории в другую

Сначала войдите в контейнер вашего сайта:

cd /var/discourse
./launcher enter app

Массовая тегирование всех тем внутри категории:

Сначала войдите в контейнер вашего сайта:

cd /var/discourse
./launcher enter app

Я не на 100% уверен, какие именно уведомления (если вообще какие-либо) вызываются этими методами, но если вы обеспокоены и хотите быть абсолютно уверены, что уведомления не будут отправлены, рекомендую проверить следующие настройки во время работы:

  • disable_category_edit_notifications
  • disable_tags_edit_notifications

@tshenry, вы просто спасли мой день! Большое спасибо!