مشكلات في استعادة النسخة الاحتياطية إلى discourse

يبدو هذا مثل المشكلة المذكورة في Can't restore a backup if it includes link to Discourse onebox :وجه_قلق:
يجب أن تكون قادرًا على إصلاح هذا أثناء الاستعادة، ولكن تحتاج إلى القيام بذلك عبر سطر الأوامر.

cd /var/discourse
./launcher enter app

# ابدأ الاستعادة مع الوسيطة --pause
discourse restore --pause <backup_filename>

سيؤدي هذا إلى إيقاف عملية الاستعادة في نقطتين:

  1. قبل تشغيل ترحيلات قاعدة البيانات – يمكنك تجاهل ذلك؛ اضغط على مفتاح للمتابعة
  2. قبل استعادة الملفات. سيكون لديك حق الوصول إلى جدول uploads غير المعدل (لم يتم تشغيل أي إعادة تعيين بعد) مما يسمح لك بإصلاح الملفات قبل أن تفشل عملية الاستعادة بسببها.

الآن، افتح جلسة SSH أخرى إلى الخادم الخاص بك وابدأ وحدة تحكم rails:

cd /var/discourse
./launcher enter app

rails c

ستحتاج إلى معرفة أي Post يسبب فشل الاستعادة. إذا كنت محظوظًا، ستجده عن طريق تنفيذ ما يلي في وحدة تحكم rails:

current_db = RailsMultisite::ConnectionManagement.current_db
cdn_path = SiteSetting.cdn_path("/uploads/#{current_db}/original").sub(/https?:/, "")
Post.where("cooked LIKE '%#{cdn_path}%'")
7 إعجابات