J’ai d’abord essayé de corriger la migration depuis S3, et on m’a indiqué, après avoir utilisé ma propre migration comme terrain d’essai pour le code que j’écrivais, que j’avais complètement pris la mauvaise approche. Cette affirmation était étayée par une corruption de données dans mon instance (importante) que j’avais migrée depuis S3 vers des fichiers locaux. Plus récemment, j’ai fini par corriger manuellement des données corrompues dans la base de données, et je ne m’attends pas à avoir terminé le nettoyage suite à ma tentative.
Si je devais lancer aujourd’hui une migration depuis S3 vers mon propre stockage, je lancerais un conteneur Minio à côté de Discourse, j’utiliserais minio-client pour copier depuis S3 vers mon conteneur Minio, je reconfigurerais Discourse pour le nouvel emplacement « S3 » de mon Minio local, puis j’exécuterais posts:remap ou je referais le moulage de tous les messages pour servir le « S3 » depuis mon conteneur Minio.
Voici un exemple de la manière dont posts:remap devrait fonctionner ici. J’ai l’impression qu’il existe un meilleur exemple quelque part ici, mais cela devrait suffire pour démarrer.