Changement de compartiment S3 et de toutes les références

J’ai changé le bucket S3 de mon site web et copié tous les assets vers le nouveau. Tout est identique, et j’ai également veillé à ce que tous les fichiers soient au moins lisibles publiquement.

 for i in $(cat files.txt | awk '{print $4}'); do  aws --profile gb_root  s3api put-object-acl --bucket gb-www-forum  --key $i --acl public-read ; done;

Certaines URL et images qu’il référence sont toujours basées sur l’ancien nom de bucket.

Par exemple : l’URL du logo est définie sur :

https://geek-beacon-www-forum.s3.dualstack.us-west-1.amazonaws.com/original/2X/8/8d0ac51fff56cdc704af2807c1c2efee13a3fd89.png

Il s’agissait d’un ancien bucket qui devrait tous faire référence au nouveau nom de bucket.

Choses que j’ai essayées :

Rebake

cd /var/discourse
./launcher enter app
rake posts:rebake

Cela a fonctionné avec succès, mais n’a rien changé.

Remap (Échec de l’appel)

Remap a été mentionné, mais je n’arrive pas à trouver comment le faire fonctionner.

root@forum-app:/var/www/discourse# rake --tasks  | grep remap
rake posts:remap[find,replace,type,ignore_case]                        # Remap all posts matching specific string
root@forum-app:/var/www/discourse# rake posts:remap["geek-beacon-www-forum", "gb-www-forum", "string",  false]
rake aborted!
Don't know how to build task 'posts:remap[geek-beacon-www-forum,' (See the list of available tasks with `rake --tasks`)
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
(See full trace by running task with --trace)

Puisque personne n’a répondu, j’ai fini par exécuter quelques requêtes SQL pour tenter de résoudre ce problème.

sudo ./launcher enter app
sudo -u postgres psql discourse

Cette liste n’est probablement pas exhaustive, mais j’ai mis à jour les tables suivantes :

  • uploads
  • badges
  • optimized_images
  • post_custom_fields
  • post_revisions
  • posts
  • stylesheet_cache

Le forum est en bien meilleur état, mais je rencontre toujours un comportement étrange. Lorsque je consulte un message contenant une photo, l’image apparaît toujours cassée, mais quand j’essaie de modifier le message, l’image s’affiche correctement dans l’aperçu et tout semble bon.

Si j’enregistre le message, l’image reste cassée. Si je télécharge l’image et que je la renvoie, elle reste toujours cassée.

En revanche, si je crée un nouveau message, tout fonctionne parfaitement.

Avez-vous des idées sur ce que j’aurais pu manquer ?