Olá, equipe Discourse,
Temos algum comando de linha para mover todos os tópicos de uma categoria para uma nova tag?
Temos algum comando de linha para mover todos os tópicos de uma subcategoria para a categoria pai?
- Navegue até a categoria com as postagens que deseja alterar
- Ative a ferramenta de seleção em massa (cabeçalho da coluna no canto superior esquerdo)

- Clique no botão Selecionar Tudo

- Clique na chave de ação em massa que aparece no canto superior direito

- Clique no botão na janela pop-up para fazer a alteração apropriada (Definir Categoria ou Acrescentar/Substituir Etiquetas)
Obrigado, @wesochuck. Eu conheço esse recurso, mas cada uma das minhas subcategorias tem mais de 1000 tópicos, o que torna difícil carregá-los e configurá-los. Por isso, quero configurar apenas um comando SSH via linha de comando para o servidor. Obrigado a todos!
Há outros tópicos aqui com exemplos de comandos do Rails para selecionar vários posts e realizar alguma ação neles. Como você ainda não tem uma resposta, talvez valha a pena procurá-los.
Tenho estado muito ocupado para dedicar tempo livre a este caso. Se isso tiver valor financeiro para você, posso fazer isso por US$ 200 hoje ou metade desse valor na segunda-feira.
EDIT: Aqui está um começo:
Topic.where(category_id: CURRENT_ID).update_all(category_id: NEW_ID)
Lembre-se de fazer um backup antes de executar isso!
Obrigado! Movi a subcategoria de volta para a categoria pai com sucesso.
Quero inserir e atualizar todos os tópicos que têm uma palavra-chave para uma tag. Conheço um pouco o console, mas não surtiu efeito. Você pode corrigir o console para ficar assim:
Topic.where(“quận 1 dt”).update_all(tags=“quận-1”)
rake posts:update_tag[“quận 1 dt”,“quận-1”]
Quero fazer essa ação pelo console, pois meu Discourse tem milhares de tópicos para substituir. Qual console usar para fazer esse recurso? Obrigado!
Peço desculpas! Não sou desenvolvedor e não domino o console Rails profissional, mas vou tentar estudar mais. Muito obrigado!
Olá,
Executei este comando, mas não houve efeito. Você pode me ajudar a corrigir este comando?
Topic.where(category_id: CURRENT_ID).update_all(tags: ‘quan-1’)
Executei este comando, mas não houve efeito
UPDATE “topics” SET “tag” = ‘quan-1’ WHERE (“topics”.“deleted_at” IS NULL) AND “topics”.“category_id” = 2752
Podemos inserir ou atualizar a tag de um tópico pelo console abaixo?
UPDATE topics SET tag = ‘tag_content’ WHERE topics.category_id = Category_ID_wanna
Olá, Discourse,
Podemos atribuir uma tag a todos os tópicos que contenham uma determinada string? E qual comando faz isso?
Exemplo:
UPDATE topics SET tag = 'tag_content' WHERE topics.content = "uma string"
É possível? ![]()
Sim, as instruções para fazer isso estão aqui: Administrative Bulk Operations.
Isso é ótimo, mas não move o tópico da categoria (aquele padrão que contém as informações sobre ela), o que achei estranho, sem falar que não consigo encontrar nenhuma maneira de realmente mover esse tópico.
Ao criar uma categoria no Discourse, um tópico “Sobre” é criado automaticamente para a categoria. Esse tópico não pode ser movido. No entanto, você pode copiar manualmente o conteúdo do tópico “Sobre” da categoria para o tópico “Sobre” da nova categoria.
Entendo o que você está dizendo e, de certa forma, concordo, mas não é óbvio por que seria esse o caso. É um tópico que contém conteúdo que, argumentavelmente, poderia ser movido se eu estiver movendo tudo para uma nova categoria. Eu tinha conteúdo útil nesses tópicos e estou apenas consolidando as coisas porque, mais tarde, descobri a limitação sobre aninhar categorias.
Estou apenas fornecendo feedback para que você esteja ciente.
Obrigado! Esse é um feedback útil. Não há nada exibido na interface do usuário do Discourse que informe por que os tópicos Sobre não podem ser movidos.

