Ciao - poiché un plugin utilizzato nella nostra istanza Discourse non viene più aggiornato (Multilingual) e alcune delle sue funzionalità sono supportate nelle versioni più recenti di Discourse, desideravamo utilizzare uno script di migrazione per spostare i valori nel database in nuovi percorsi.
Tuttavia, ricercando negli articoli del wiki di questo sito o nel repository git di Discourse, non ho trovato alcuna documentazione per scrivere uno script di migrazione (da quale classe ereditare, quali metodi utilizzare…).
C’è qualche documentazione che mi è sfuggita? Oltre a esaminare il codice di migrazione, ci sono suggerimenti per familiarizzare con gli script di migrazione?
Quando ho dovuto migrare contenuti da una piattaforma senza uno script Discourse disponibile, non ho avuto fortuna nel trovare documentazione reale su queste cose. Gli script esistenti erano al di là della mia capacità di ingegneria inversa. Ho finito per importare manualmente un argomento alla volta tramite la console Rails, il che non è molto scalabile.
Honeyxilia, dal modo in cui interpreto la tua domanda, sembra che tu abbia fatto molto lavoro con il Multilingual Plugin di Pavilion e vorresti “migrare” quei dati alle più recenti funzionalità di Content Localization di Discourse. È corretto? (Non sono sicuro nemmeno io da dove cominciare.)
Con script di migrazione intendo gli script di migrazione del database (db/migrate) che ereditano da ActiveRecord::Migration, i quali vengono utilizzati per adattare il database alle modifiche di Discourse.
Ad esempio, abbiamo i comandi SQL per trasferire una locale del plugin Multilingua in una locale nativa di Discourse.
La mia domanda riguarderebbe principalmente gli script di migrazione del database, al fine di automatizzare i comandi SQL durante la migrazione del database a una versione più recente.