Ok, ce problème est maintenant résolu ! Voici comment j’ai procédé (avec l’aide immense d’Artur de notre forum)
Dans to_s3_migration.rb, j’ai changé ceci :
count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
if count > 0
error_message =
"#{count} sur #{Upload.count} téléversements non migrés vers S3. #{failure_message}"
raise_or_log(error_message, should_raise)
success = false
end
Par ceci :
count = Upload.by_users.where("url NOT LIKE '#{base_url}%'").count
if count > 0
failed_uploads = Upload.by_users.where("url NOT LIKE '#{base_url}%'")
failed_ids = failed_uploads.map(&:id)
failed_id_list = failed_ids.join(", ")
error_message =
"#{count} sur #{Upload.count} téléversements non migrés vers S3. \n Liste des ID échoués : \n #{failed_id_list}; #{failure_message}"
raise_or_log(error_message, should_raise)
success = false
end
Et ensuite, dans la console Rails, j’ai simplement supprimé le téléversement problématique. Maintenant, j’ai un problème avec
FileStore::ToS3MigrationError: 3 posts ne sont pas remappés à la nouvelle URL de téléversement S3. La migration S3 a échoué pour la base de données 'default'.
Mais je pense avoir rencontré un problème plus important : les ressources, après compilation, ne sont pas téléversées dans le bucket S3 :
Il devrait évidemment y avoir un dossier d’assets, mais il n’y en a aucun. C’est ce qui m’empêche de mettre un CDN devant tout cela, mais je suppose que c’est un autre problème, pour un autre sujet ?
