Questo strumento rimuoverebbe tutti i dati di configurazione aggiuntivi dal database. Lo strumento rimuoverebbe tutte le colonne aggiunte, le righe di configurazione e le tabelle dal database che non sono presenti nell’installazione predefinita di Discourse. Lo strumento lascerebbe invariato tutto il contenuto e le impostazioni del sito. L’obiettivo principale sarebbe rimuovere tutti i componenti di plugin e temi dal database.
La migliore soluzione a cui riesco a pensare è creare una nuova istanza da un backup
Questo è il modo più pulito per ottenerlo mantenendo i dati del tuo forum senza un grande sforzo manuale.
Tuttavia, credo che i backup includeranno tutte le tabelle che esistevano nell’istanza da cui hai eseguito il backup e che potrebbero includere quelle create dai plugin, anche se non hai installato il plugin sulla nuova istanza.
Se vuoi sporcarti le mani, puoi usare i rake tasks per eliminare un database e crearne uno nuovo ed eseguire tutte le migrazioni, ma questo cancellerà tutti i tuoi dati.
Questo è il motivo per cui “installare un nuovo ambiente e ripristinare un backup” non è la soluzione migliore. Hai ancora residui di vecchi componenti e plugin nel database.
Dovrebbe esserci uno strumento di ultima istanza che rimuova tutte le modifiche apportate al database da componenti e plugin, lasciando invariati i dati e le impostazioni del sito. Questo strumento potrebbe essere eseguito prima di passare alla nuova soluzione di installazione.
Stai usando il termine “migrations”. Cosa intendi con questo termine?
Uso il termine per riferirmi alla “migrazione” dei dati e dei contenuti degli utenti in un sistema. Questo non dovrebbe mai modificare la struttura predefinita del database.
L’unica cosa che potrebbe modificare la struttura di un database è un plugin. A meno che Discourse non consenta altri modi per modificare la struttura del database.