Con la ayuda de cierta IA, aquí tienes una lista exhaustiva de subcomandos para el comando discourse.
La CLI de discourse (implementada mediante script/discourse usando la gema Thor) proporciona 13 subcomandos principales categorizados en Copias de seguridad y restauraciones, Gestión del sitio y modos, Utilidades de base de datos y Migración de datos (Importación/Exportación).
Referencia rápida de comandos
| Categoría | Subcomando | Función principal |
|---|---|---|
| Copia de seguridad y restauración | backup |
Genera un archivo de copia de seguridad completo o solo de la base de datos. |
restore |
Restaura un archivo de copia de seguridad .tar.gz en la instancia. |
|
enable_restore |
Otorga permiso para ejecutar comandos de restauración. | |
disable_restore |
Revoca el permiso para realizar restauraciones. | |
rollback |
Revierte el estado de la base de datos después de una restauración fallida. | |
| Modos del sitio | enable_readonly |
Activa el modo de solo lectura temporal en todo el sitio. |
disable_readonly |
Desactiva el modo de solo lectura para restaurar las escrituras normales del sitio. | |
request_refresh |
Dispara una solicitud de actualización del navegador a todos los clientes conectados activos. | |
| Operaciones de base de datos | remap |
Realiza una búsqueda y reemplazo global de texto en las tablas de la base de datos. |
| Migración de datos | export_category |
Exporta una sola categoría, sus temas y los usuarios asociados. |
import_category |
Importa un archivo de categoría al foro actual. | |
export_topics |
Exporta temas específicos por ID y sus cuentas de autor/contestador. | |
import_topics |
Importa un archivo de temas al foro actual. |
Documentación detallada de subcomandos
1. Comandos de copia de seguridad y restauración
discourse backup [FILENAME]
-
Descripción: Crea una copia de seguridad completa de la base de datos del foro y los activos.
-
Banderas:
-
--sql-only: (Booleano, Predeterminado:false) Volca solo la base de datos PostgreSQL, omitiendo los archivos cargados localmente. -
--s3-uploads: (Booleano, Predeterminado:false) Fuerza la inclusión de activos almacenados en S3 en el archivo de copia de seguridad (se ignora cuando se establece--sql-only). -
Ejemplo:
discourse backup
discourse backup --sql-only
discourse restore [FILENAME]
- Descripción: Restaura una copia de seguridad del foro desde un archivo local
.tar.gzubicado en/var/www/discourse/public/backups/default. - Prerrequisito: Requiere ejecutar
discourse enable_restoreprimero. - Ejemplo:
discourse restore discourse-2026-07-22-120000-v2026xxxx.tar.gz
discourse enable_restore y discourse disable_restore
- Descripción: Alterna la bandera de la aplicación que permite o restringe las tareas de restauración basadas en consola/web.
- Secuencia de uso:
discourse enable_restore
discourse restore <filename>
discourse disable_restore
discourse rollback
- Descripción: Revuelve el esquema y el estado de la base de datos al punto anterior a una ejecución de restauración fallida.
2. Estado del sitio y controles de cliente
discourse enable_readonly y discourse disable_readonly
- Descripción: Establece o borra la
READONLY_MODE_KEYen Redis. - Detalles:
- Congela las escrituras en la base de datos mientras mantiene el sitio legible para los usuarios.
- Usa un bucle de tiempo de vida (TTL) corto que se actualiza mientras está activo, evitando que el sitio permanezca bloqueado permanentemente si una sesión de terminal falla.
discourse request_refresh
- Descripción: Envía un mensaje del sistema a través de MessageBus instruyendo a todas las sesiones web en línea para que recarguen la página web. Útil después de implementar actualizaciones de activos o cambios globales de tema.
3. Remapeo de base de datos
discourse remap [OPTIONS] FROM TO
-
Descripción: Realiza una búsqueda y reemplazo directo de cadenas en las columnas de texto de la base de datos. Crucial al actualizar nombres de dominio, rutas de CDN o prefijos de carga de imágenes.
-
Banderas:
-
--global: (Booleano) Escanea y remapea en todas las tablas en lugar de solo en las tablas de contenido estándar. -
--regex: (Booleano) Evalúa el parámetroFROMcomo una expresión regular en lugar de una cadena literal. -
Ejemplo:
discourse remap "old-domain.com" "new-domain.com"
discourse remap --global "/uploads/default/" "/cdn-uploads/"
4. Importación y exportación selectiva de datos
discourse export_category [CATEGORY_ID]
- Descripción: Serializa una sola categoría, incluyendo todos los temas anidados, publicaciones y perfiles de usuarios participantes, en un archivo de archivo JSON.
discourse import_category [FILE_PATH]
- Descripción: Lee un archivo creado por
export_categoryy fusiona los datos de la categoría en la instancia de destino.
discourse export_topics [TOPIC_IDS...]
- Descripción: Toma uno o más IDs de temas separados por espacios y exporta los temas, publicaciones y cuentas de usuarios relevantes.
- Ejemplo:
discourse export_topics 102 105 210
discourse import_topics [FILE_PATH]
- Descripción: Importa un archivo JSON creado por
export_topicsen la instancia de Discourse de destino.