Bonjour - en tant que plugin utilisé dans notre instance Discourse qui n’est plus mis à jour (Multilingual), et certaines de ses fonctionnalités sont prises en charge dans les versions plus récentes de Discourse, nous souhaitions utiliser un script de migration afin de déplacer des valeurs dans la base de données vers de nouveaux emplacements.
Cependant, en recherchant dans les articles du wiki de ce site, ou dans le dépôt git de Discourse, je n’ai trouvé aucune documentation pour écrire un script de migration (quelle classe hériter, quelles méthodes utiliser…).
Y a-t-il une documentation que j’ai manquée ? Outre l’examen du code de migration, y a-t-il des conseils pour me familiariser avec les scripts de migration ?
Quand j’ai eu du contenu à migrer depuis une plateforme sans script Discourse disponible, je n’ai pas trouvé de documentation réelle sur ces choses. Les scripts existants étaient trop complexes pour que je puisse les analyser. J’ai fini par importer manuellement un sujet à la fois via la console Rails – pas très évolutif.
Honeyxilia, d’après ce que je comprends de votre question, vous avez effectué beaucoup de travail avec le plugin multilingue Pavilion et vous aimeriez “migrer” ces données vers les nouvelles fonctionnalités de localisation de contenu de Discourse. Est-ce exact ? (Je ne suis pas sûr non plus par où commencer avec ça.)
Par script de migration, j’entends les scripts de migration de base de données (db/migrate) qui héritent de ActiveRecord::Migration et qui sont utilisés pour adapter la base de données aux changements de Discourse.
Par exemple, nous avons les commandes SQL pour transférer une locale de plugin multilingue vers une locale Discourse native.
Ma question porterait principalement sur les scripts de migration de base de données, afin d’automatiser les commandes SQL lors de la migration de la base de données vers une nouvelle version.