Après avoir réussi à migrer le script vbulletin, et avoir regardé la migration s’exécuter pendant 36 heures maintenant avec encore quelques millions de messages à traiter…
S’il n’y a pas de contenu Discourse existant ou de relations de données à préserver, y a-t-il une raison pour qu’un forum existant non-Discourse ne puisse pas être migré en générant un instantané de sauvegarde SQL de Discourse directement à partir des données de la base de données source ?
Nous devrions écrire le script plus ou moins à partir de zéro, mais il serait de haut niveau similaire aux scripts de migration existants. Le script extrairait les données de la base de données source, les traiterait si nécessaire*, et générerait des dumps de données plates pour chaque table Discourse cible qui pourraient être utilisés pour assembler l’équivalent d’un instantané de sauvegarde Discourse. Plus ou moins, la sortie du script serait injectée dans l’instantané de sauvegarde d’une instance Discourse vide.
Le * ci-dessus cache une tonne de travail, mais y a-t-il un obstacle majeur que j’ignore ? Puisque nous pouvons réutiliser tous les identifiants de données source existants (id de sujet, id de fil de discussion, etc.), je ne pense pas que l’étape de traitement nécessite de conserver une quantité significative d’état, mais peut-être que je me trompe à ce sujet. Il semble que le gros du travail de la logique de migration résiderait dans les appels à la base de données source.