Как переместить все темы из одной категории в новый тег

Привет, команда Discourse,

Есть ли у нас команда командной строки для перемещения всех тем из одной категории в новый тег?

Есть ли у нас команда командной строки для перемещения всех тем из подкатегории в родительскую категорию?

  1. Перейдите в категорию с постами, которые вы хотите изменить
  2. Включите инструмент массового выбора (заголовок столбца в верхнем левом углу)
    image
  3. Нажмите кнопку «Выбрать все»
    image
  4. Нажмите на значок гаечного ключа массовых действий, который появится в правом верхнем углу
    image
  5. Нажмите кнопку во всплывающем окне, чтобы внести соответствующие изменения (Установить категорию или Добавить/Заменить теги)

Спасибо @wesochuck, я знаю об этой функции, но в каждой моей подкатегории более 1000 тем, которые сложно загружать и настраивать, поэтому я хочу настроить только командную строку SSH для подключения к серверу. Спасибо всем!

Здесь есть несколько других тем с примерами команд Rails для выбора группы постов и выполнения над ними каких-либо действий. Поскольку у вас пока нет ответа, возможно, стоит поискать их там.

У меня не было времени уделить этому вопросу в свободное время. Если это имеет для вас финансовую ценность, я могу сделать это за вас за 200 долларов сегодня или за половину этой суммы в понедельник.

РЕДАКТИРОВАНИЕ: Вот начало:

 Topic.where(category_id: CURRENT_ID).update_all(category_id: NEW_ID)

Перед выполнением этой операции обязательно сделайте резервную копию!

Спасибо! Я успешно переместил подкатегорию обратно в родительскую категорию.

Я хочу вставить и обновить все темы, содержащие ключевое слово, в тег. Я немного знаком с консолью, но это не сработало. Можете ли вы исправить консоль так же, как в примере:

Topic.where(“quận 1 dt”).update_all(tags=“quận-1”)

rake posts:update_tag[“quận 1 dt”,“quận-1”]

Я хочу выполнить это действие через консоль, так как в моём Discourse тысячи тем, которые нужно заменить. Какую консоль использовать для этой функции? Спасибо!

Приношу извинения! Я не разработчик и не знаком с профессиональным использованием Rails-консоли, но я постараюсь изучить это подробнее. Большое спасибо!

Привет,
Я выполнил эту команду, но эффекта нет. Можете помочь исправить её?

Topic.where(category_id: CURRENT_ID).update_all(tags: ‘quan-1’)

Я выполнил эту команду, но эффекта нет

UPDATE “topics” SET “tag” = ‘quan-1’ WHERE (“topics”.“deleted_at” IS NULL) AND “topics”.“category_id” = 2752

Можно ли вставить или обновить тег для темы с помощью следующей консоли?

UPDATE topics SET tag = ‘tag_content’ WHERE topics.category_id = Category_ID_wanna

Привет, Discourse!
Можно ли назначить тег всем темам, содержащим определённую строку, и какая команда для этого подойдёт?
Пример:

UPDATE topics SET tag = 'tag_content' WHERE topics.content = "a string"

Возможно ли это? :slight_smile:

Да, инструкции по выполнению этой операции доступны здесь: Administrative Bulk Operations.

Это здорово, но при этом не перемещается тред категории (дефолтный тред с информацией о ней), что я считаю странным. Более того, я не могу найти способа переместить эту тему.

При создании категории в Discourse автоматически создается тема «О категории». Переместить эту тему нельзя. Однако вы можете вручную скопировать содержимое темы «О категории» из старой категории в тему «О категории» новой категории.

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

Я просто даю обратную связь, чтобы вы были в курсе.

Спасибо! Это полезная обратная связь. В пользовательском интерфейсе Discourse ничего не отображается, что объясняло бы, почему темы «О нас» нельзя переместить.