صور مفقودة في موقع discourse. بينما هي موجودة في مجلد الرفع

لقد حاولت للتو تغيير عنوان موضوع قديم. ثم أدركت أن جميع الصور في الموضوع أصبحت بصيغة transparent.png ولا تظهر بشكل صحيح.

لم يُحل الأمر rake uploads:recover متبوعًا بـ rake posts:rebake المشكلة.

يمكنني الوصول إلى الصورة عبر https://talk.zabanshenas.com/uploads/default/original/3X/8/7/8726fbef7b69ac8226d28568b46f3e06afe2fb4f.jpeg

أما عملية الرفع نفسها فهي: ![164389418-how-i-met-your-mother-wallpapers|666x500](upload://jhBYRiSdEO0a8JYypd6XapJbpaD.jpeg)

ومع ذلك، عند تنفيذ الأمر التالي:

Upload.where( "url LIKE '%8726fbef7b69ac8226d28568b46f3e06afe2fb4f%'" )

أحصل على:
=> []

هل لديك أي فكرة؟

إذا قمت برفع نفس الصورة تمامًا في مكان آخر، فسيظهر المنشور القديم الصورة أيضًا بعد إعادة البناء. لذا أعتقد أن المشكلة تتعلق بفهرسة بعض الملفات المرفقة سابقًا. كيف يمكنني إعادة فهرسة جميع الملفات المرفقة مرة أخرى؟ أو الأفضل من ذلك، فهرسة تلك المفقودة.

تحديث:

قرأت بعض مهام rake ورأيت rake posts:recover_uploads_from_index والتي تبدو وكأنها تحل مشكلتي. ومع ذلك، أواجه الخطأ التالي:

undefined method `split' for nil:NilClass
from /var/www/discourse/app/models/site_setting.rb:151:in `s3_base_url'

لم أقم بتفعيل تحميلات S3 لموقعي :face_with_monocle: :face_with_monocle:

تحديث:

قمت بإصلاح مؤقت وغير أنيق للخطأ أعلاه (إلغاء التعليق عن هذا السطر) وشغلت مهمة rake. لكن النتيجة لم تكن كما توقعت:

جاري البحث عن upload://dC9HyffX3S1XbwwdUOsHe5aMyJX.jpeg (dC9HyffX3S1XbwwdUOsHe5aMyJX) في الفهرس                                                                                                             
تم تخطي upload://dC9HyffX3S1XbwwdUOsHe5aMyJX.jpeg في https://talk.zabanshenas.com/t/topic/4430/1 لأن اسم الملف يبدو قصيرًا                                                               
جاري البحث عن upload://kWx14u8XkQ8qd6NvOoDLN6usTl8.jpeg (kWx14u8XkQ8qd6NvOoDLN6usTl8) في الفهرس                                                                                                             
تم تخطي upload://kWx14u8XkQ8qd6NvOoDLN6usTl8.jpeg في https://talk.zabanshenas.com/t/topic/4430/1 لأن اسم الملف يبدو قصيرًا  

ذهبت إلى ما هو أبعد من مهمة الـ rake rake uploads:recover. أعتقد أن هناك خطأ في السطر التالي:

حسب فهمي، يجب أن تُضاف جميع الملفات الموجودة في uploads/default/original إلى @paths. ومع ذلك، حاولت طباعة @paths في ملف، لكنني وجدت فقط ملفات الـ tombstone مدرجة.

هل أغفلت شيئًا هنا؟ :thinking: @cvx

أعتقد أنه يجب أن يكون على هذا النحو:

concat(Dir.glob(File.join(
      Rails.root, "public", Discourse.store.upload_path,
      'original',
      '**',
      '*.*'
    )))