Во втором испытании Discourse пропускает загрузки, так как они уже существуют в таблице uploads. Discourse избегает перезаписи существующих загрузок, если это явно не указано.
Вы можете попробовать добавить следующий фрагмент кода в attachment_importer.rb (discourse/script/import_scripts/phpbb3/importers/attachment_importer.rb at main · discourse/discourse · GitHub) перед вызовом @uploader.create_upload. Это обеспечит удаление существующей загрузки с тем же именем файла в первую очередь, что заставит Discourse выполнить повторную загрузку.
existing_upload = Upload.find_by(original_filename: filename)
if existing_upload
existing_upload.destroy
puts "Удалена существующая загрузка: #{filename}"
end
upload = @uploader.create_upload(user_id, path, filename)