إعادة إضافة التحميلات المفقودة إلى قاعدة البيانات

أحاول شيئًا مثل هذا:

def add_missing_files_to_uploads
  public_directory = Rails.root.join("public").to_s
  db = RailsMultisite::ConnectionManagement.current_db
  uploads_directory = File.join(public_directory, 'uploads', db).to_s
  # ملفات التحميل والصور المحسّنة
  missing = 0
  matched = 0
  Dir.glob("#{uploads_directory}/**/*.pdf").each do |file_path|
    sha1 = Upload.generate_digest(file_path)
    url = file_path.split(public_directory, 2)[1]
    if (Upload.where(sha1: sha1).empty? &&
        Upload.where(url: url).empty?)
      puts "MISSING #{file_path}" if DEBUG
      missing += 1
    else
      matched += 1
    end
  end
  puts "MISS: #{missing}. Match #{matched}"
end

هل يبدو ذلك قريبًا إلى حد ما؟ يبدو أن اختباري الأول قد فشل، لكن قد يكون لديّ خطأ ما في شيء ما.