Mon groupe utilisait notre Discourse sur un domaine temporaire pendant deux mois, le temps de nous mettre d’accord sur notre vrai nom de domaine. Hier, j’ai tenté de migrer tout le contenu de l’ancien domaine vers le nouveau. Tout le contenu textuel, les comptes utilisateurs et même les liens entre les sujets ont été transférés correctement. Mais maintenant :
- Tous les anciens嵌dements d’images semblent perdus.
- Aucun nouvel image ne peut être téléchargé.
Voici ma procédure :
- J’ai créé une nouvelle application Discourse sur un nouveau droplet DigitalOcean.
- J’ai connecté le nouveau nom de domaine à ce nouveau droplet.
- J’ai vérifié que les deux applications Discourse et tous les plugins étaient à jour avec les dernières versions disponibles.
- J’ai mis l’ancien Discourse en mode lecture seule pour empêcher l’ajout de tout nouveau contenu.
- J’ai effectué une sauvegarde de l’ancien Discourse.
- J’ai importé cette sauvegarde dans le nouveau Discourse.
- J’ai mis à jour l’adresse e-mail de Discourse, passant de l’ancien domaine au nouveau.
- J’ai lancé un test des notifications, qui ont fonctionné pour le nouveau Discourse.
- J’ai parcouru tous les paramètres de Discourse pour remplacer toute mention de l’ancien domaine par le nouveau.
- J’ai configuré l’ancien sous-domaine pour qu’il redirige vers le bon domaine, et j’y ai ajouté temporairement une note avec un lien vers le nouveau Discourse.
Comme indiqué plus haut, la plupart du contenu a été transféré sans problème. Mais un jour plus tard, nous avons constaté que les anciens嵌dements d’images sont perdus et qu’aucune nouvelle image ne peut être téléchargée. Seuls leurs contenus « alt » s’affichent. Voici une capture d’écran d’un exemple :
En cherchant sur Google, il semble qu’il existe plusieurs longs fils de discussion à ce sujet, mais je n’en ai trouvé aucun qui mentionne un changement de nom de domaine et une impossibilité de retélécharger.
Je viens d’essayer de résoudre ce problème en :
- Me connectant en SSH à la machine.
- Me plaçant dans le répertoire Discourse et en entrant dans l’application.
- Exécutant
rake posts:missing_uploads. Cela indique :
Looking for missing uploads on: default
0 post uploads are missing.
- Exécutant
rake uploads:missing. Cela affiche une longue liste :
/var/www/discourse/public/uploads/default/original/1X/bbc547e72f080561282be277749165709cbb0983.ico
/var/www/discourse/public/uploads/default/original/1X/0a421ccd1a08047895e2355f44c332f8b069107d.jpeg
/var/www/discourse/public/uploads/default/original/1X/034e0353b7558a26252c82982de53002fda0a33f.jpeg
[…]
/var/www/discourse/public/uploads/default/original/1X/f7a6164ffa55af4ee2706d2386227183ef6c2d61.png
96 of 281 uploads are missing
/var/www/discourse/public/uploads/default/optimized/1X/997bc5536763d84a8d035ff7becd98277a158680_2_45x45.png
[…]
/var/www/discourse/public/uploads/default/optimized/1X/8944afba36549c9050ef074b391625ef93d4d0e3_2_1035x582.jpeg
/var/www/discourse/public/uploads/default/optimized/1X/8944afba36549c9050ef074b391625ef93d4d0e3_2_10x10.png
247 of 761 optimized_images are missing
- Exécutant
rake uploads:recover_from_tombstone. Cela ne produit aucune sortie.
Je dois avouer que je ne sais pas exactement ce que font ces commandes Rake.
Je peux également constater dans le fichier containers/app.yml que DISCOURSE_HOSTNAME correspond bien au nouveau sous-domaine et au nouveau domaine.
L’exécution de ./launcher rebuild app ne semble rien changer.
Quelqu’un pourrait-il m’aider, s’il vous plaît ? Merci.


