Cómo mover todos los temas de una categoría a una nueva etiqueta

Hola equipo Discourse,
¿Tenemos una línea de comandos para mover todos los temas de una categoría a una nueva etiqueta?
¿Tenemos una línea de comandos para mover todos los temas de una subcategoría a la categoría principal?

  1. Navega a la categoría con las publicaciones que deseas modificar
  2. Activa la herramienta de selección masiva (encabezado de la columna superior izquierda)
    image
  3. Haz clic en el botón Seleccionar todo
    image
  4. Haz clic en la llave de acción masiva que aparece en la parte superior derecha
    image
  5. Haz clic en el botón en la ventana emergente para realizar el cambio correspondiente (Establecer categoría o Agregar/Sustituir etiquetas)

Gracias @wesochuck, conozco esta función, pero cada una de mis subcategorías tiene más de 1000 temas, lo que hace difícil cargarlas y configurarlas, así que quiero configurar solo una línea de comandos SSH al servidor. ¡Gracias a todos!

Hay otros temas aquí con ejemplos de comandos de Rails para seleccionar un grupo de publicaciones y realizar alguna acción sobre ellas. Como aún no tienes una respuesta, podrías buscar esos temas.

He estado demasiado ocupado para dedicar tiempo libre a esto yo mismo. Si esto tiene valor económico para ti, podría hacerlo por $200 hoy o la mitad de esa cantidad el lunes.

EDIT: Aquí hay un comienzo:

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

¡Asegúrate de hacer una copia de seguridad antes de ejecutar eso!

¡Gracias! He movido la subcategoría y ha vuelto con éxito a la categoría principal.
Quiero insertar y actualizar todos los temas que tengan una palabra clave en una etiqueta. Conozco un poco la consola, pero no me funciona. ¿Podrías corregir la consola para que sea igual a esto:

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

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

Quiero realizar esta acción desde la consola, porque mi Discourse tiene miles de temas que reemplazar. ¿Qué consola debo usar para esta función? ¡Gracias!

¡Lo siento mucho! No soy desarrollador y no domino la consola de Rails profesional; intentaré estudiar más. ¡Muchas gracias!

Hola,
He ejecutado este comando pero no tiene efecto. ¿Puedes ayudarme a corregirlo?

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

Ejecuté este comando pero no tuvo efecto

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

¿Podemos insertar o actualizar la etiqueta de un tema mediante la siguiente consola?

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

Hola Discourse,
¿Podemos asignar una etiqueta a todos los temas que contengan una cadena de texto y qué comando lo permite?
Ejemplo:

UPDATE topics SET tag = 'tag_content' WHERE topics.content = "una cadena"

¿Es posible? :slight_smile:

Sí, las instrucciones para hacerlo están aquí: Administrative Bulk Operations.

Esto es genial, pero no mueve el hilo de la categoría (el predeterminado que contiene la información sobre ella), lo cual me pareció extraño, sin mencionar que no encuentro ninguna forma de mover realmente ese tema.

Cuando creas una categoría en Discourse, se crea automáticamente un tema “Acerca de” para la categoría. Ese tema no se puede mover. Sin embargo, podrías copiar manualmente el contenido del tema “Acerca de” de la categoría al tema “Acerca de” de la nueva categoría.

Entiendo lo que dices y, en cierto modo, lo capto, pero no es obvio por qué sería así. Es un tema que contiene contenido que, en teoría, podría moverse si estoy trasladando todo a una nueva categoría. Tenía contenido útil en esos temas y solo estoy simplificando las cosas porque más tarde descubrí la limitación sobre anidar categorías.

Solo estoy dando feedback para que estés al tanto.

¡Gracias! Esos comentarios son útiles. En la interfaz de usuario de Discourse no hay nada que te indique por qué no se pueden mover los temas de «Acerca de».