Lors de votre deuxième essai, Discourse ignore les téléchargements car ils existent déjà dans la table uploads. Discourse évite d’écraser les téléchargements existants, sauf instruction explicite contraire.
Vous pouvez essayer d’ajouter l’extrait de code ci-dessous dans attachment_importer.rb (discourse/script/import_scripts/phpbb3/importers/attachment_importer.rb at main · discourse/discourse · GitHub) avant d’appeler @uploader.create_upload pour vous assurer que tout téléchargement existant portant le même nom de fichier est supprimé d’abord, forçant Discourse à le retélécharger.
existing_upload = Upload.find_by(original_filename: filename)
if existing_upload
existing_upload.destroy
puts "Deleted existing upload: #{filename}"
end
upload = @uploader.create_upload(user_id, path, filename)