Con l’aiuto di un po’ di IA, ecco un elenco completo dei sottocomandi per il comando discourse.
La CLI discourse (implementata tramite script/discourse utilizzando il gem Thor) fornisce 13 sottocomandi principali, categorizzati in Backup e Ripristino, Gestione del Sito e Modalità, Utilità Database e Migrazione Dati (Importazione/Esportazione).
Riferimento Rapido dei Comandi
| Categoria | Sottocomando | Funzione Primaria |
|---|---|---|
| Backup e Ripristino | backup |
Genera un archivio di backup completo o solo del database. |
restore |
Ripristina un file di backup .tar.gz nell’istanza. |
|
enable_restore |
Concede il permesso di eseguire comandi di ripristino. | |
disable_restore |
Revoca il permesso di eseguire ripristini. | |
rollback |
Annulla lo stato del database dopo un ripristino fallito. | |
| Modalità Sito | enable_readonly |
Attiva la modalità di sola lettura temporanea su tutto il sito. |
disable_readonly |
Rimuove la modalità di sola lettura per ripristinare le scritture normali sul sito. | |
request_refresh |
Attiva una richiesta di aggiornamento del browser a tutti i client connessi attivi. | |
| Operazioni Database | remap |
Esegue una ricerca e sostituzione globale di testo nelle tabelle del database. |
| Migrazione Dati | export_category |
Esporta una singola categoria, i suoi argomenti e gli utenti associati. |
import_category |
Importa un archivio di categoria nel forum corrente. | |
export_topics |
Esporta argomenti specifici per ID e i relativi account di autore/rispondente. | |
import_topics |
Importa un archivio di argomenti nel forum corrente. |
Documentazione Dettagliata dei Sottocomandi
1. Comandi di Backup e Ripristino
discourse backup [NOME_FILE]
-
Descrizione: Crea un backup completo del database del forum e delle risorse (assets).
-
Flag:
-
--sql-only: (Booleano, Predefinito:false) Esporta solo il database PostgreSQL, saltando i file caricati localmente. -
--s3-uploads: (Booleano, Predefinito:false) Forza l’inclusione delle risorse archiviate su S3 nell’archivio di backup (ignorato quando è impostato--sql-only). -
Esempio:
discourse backup
discourse backup --sql-only
discourse restore [NOME_FILE]
- Descrizione: Ripristina un backup del forum da un archivio locale
.tar.gzsituato in/var/www/discourse/public/backups/default. - Prerequisito: Richiede l’esecuzione preliminare di
discourse enable_restore. - Esempio:
discourse restore discourse-2026-07-22-120000-v2026xxxx.tar.gz
discourse enable_restore e discourse disable_restore
- Descrizione: Attiva o disattiva il flag dell’applicazione che consente o limita le operazioni di ripristino da console/web.
- Sequenza di Utilizzo:
discourse enable_restore
discourse restore <nome_file>
discourse disable_restore
discourse rollback
- Descrizione: Annulla lo schema e lo stato del database al punto precedente all’esecuzione di un ripristino fallito.
2. Stato del Sito e Controlli Client
discourse enable_readonly e discourse disable_readonly
- Descrizione: Imposta o cancella la chiave
READONLY_MODE_KEYin Redis. - Dettagli:
- Blocca le scritture sul database mantenendo il sito leggibile per gli utenti.
- Utilizza un ciclo a breve tempo di vita (TTL) che viene aggiornato mentre è attivo, impedendo che il sito rimanga bloccato permanentemente in caso di crash della sessione terminale.
discourse request_refresh
- Descrizione: Invia un messaggio di sistema tramite MessageBus istruendo tutte le sessioni web online a ricaricare la pagina web. Utile dopo aver distribuito aggiornamenti delle risorse o cambiamenti globali del tema.
3. Rimappatura Database
discourse remap [OPZIONI] DA A
-
Descrizione: Esegue una ricerca e sostituzione diretta di stringhe nelle colonne di testo del database. Cruciale quando si aggiornano nomi di dominio, percorsi CDN o prefissi di caricamento immagini.
-
Flag:
-
--global: (Booleano) Scansiona e rimappa tutte le tabelle invece delle sole tabelle di contenuto standard. -
--regex: (Booleano) Valuta il parametroDAcome espressione regolare invece di una stringa letterale. -
Esempio:
discourse remap "vecchio-dominio.com" "nuovo-dominio.com"
discourse remap --global "/uploads/default/" "/cdn-uploads/"
4. Importazione ed Esportazione Selettiva dei Dati
discourse export_category [ID_CATEGORIA]
- Descrizione: Serializza una singola categoria, inclusi tutti gli argomenti annidati, i post e i profili degli utenti partecipanti, in un file archivio JSON.
discourse import_category [PERCORSO_FILE]
- Descrizione: Legge un archivio creato da
export_categorye fonde i dati della categoria nell’istanza di destinazione.
discourse export_topics [ID_ARGOMENTI...]
- Descrizione: Prende uno o più ID argomento separati da spazi ed esporta gli argomenti, i post e i relativi account utente.
- Esempio:
discourse export_topics 102 105 210
discourse import_topics [PERCORSO_FILE]
- Descrizione: Importa un archivio JSON creato da
export_topicsnell’istanza Discourse di destinazione.