J’ai migré les téléchargements d’un compartiment S3 vers un autre en suivant les conseils suggérés ici et, avec l’aide supplémentaire de uploads:recover_from_tombstone et posts:rebake, j’ai presque tout remis en état de marche – mais pas tout.
Je ne suis pas développeur Ruby, donc mes capacités de débogage sont limitées. Lorsque j’exécute uploads:recover maintenant, j’obtiens beaucoup de sorties comme celle-ci :
Warning /t/foo/489/5 had an incorrect 4ff3ad05b76e1888161f41fd86da66efc16c290c should be 0b029ef3549e72dd5e3498abc7f979736d279a5e storing in custom field ‘rake uploads:fix_relative_upload_links’ can fix this
Warning /t/bar/498/4 had an incorrect 0649edb23196a8c84a9d71c04147bd8f0c96d0f7 should be f5b4e4bb3eedcd0fb83a06eecc4920f20c5e2bc4 storing in custom field ‘rake uploads:fix_relative_upload_links’ can fix this
Warning /t/bar/498/4 had an incorrect 0649edb23196a8c84a9d71c04147bd8f0c96d0f7 should be f5b4e4bb3eedcd0fb83a06eecc4920f20c5e2bc4 storing in custom field ‘rake uploads:fix_relative_upload_links’ can fix this
Ces avertissements semblent effectivement correspondre à des publications avec des téléchargements cassés, donc cela semble assez prometteur. Cependant, lorsque j’exécute fix_relative_upload_links, cela ne semble rien faire.
rake uploads:fix_relative_upload_links --trace
** Invoke uploads:fix_relative_upload_links (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute uploads:fix_relative_upload_links
skipping missing upload in https://foo.com/t/bar/7/2 <img src="/uploads/default/35/f450f88541e87c52.png" width="198" height="70">
skipping missing upload in https://foo.com/t/bar/7/2 <img src="/uploads/default/36/0b73d33d9df37a66.png" width="120" height="43">
(Je pense que les deux fichiers ignorés sont d’anciens téléchargements pré-S3. Il n’y a aucune sortie pour les téléchargements S3 qui ont généré les avertissements précédents.)
J’ai trouvé un rapport d’un problème similaire datant d’un an, mais je ne vois aucun rapport similaire incluant une solution.
J’apprécie que je ne fasse pas quelque chose qui soit officiellement pris en charge, mais toute indication serait appréciée.
J’ai repéré ce problème quelques jours seulement après la migration. Si je l’avais repéré immédiatement, j’aurais essayé de re-migrer en utilisant une sauvegarde fraîche de la base de données/S3, mais comme je ne veux pas perdre de publications récentes, je devrai travailler avec le site en direct à partir de maintenant.
Merci.
Edit : J’ai également converti les URL upload:// cassées et les ai comparées aux enregistrements de la table uploads, et je ne suis pas beaucoup plus avancé.
Lorsque j’inspecte une URL upload:// fonctionnelle, elle correspond à un enregistrement de la table uploads avec une URL valide, mais lorsque j’inspecte une URL cassée, elle… correspond également à un enregistrement avec une URL valide. Il semble qu’il y ait des données valides dans la base de données et que les fichiers existent sur S3 à l’URL attribuée dans la table des téléchargements. Je peux accéder aux URL S3 dans mon navigateur sans problème, donc je ne vois pas pourquoi elles ne se chargent pas.