خطأ عند استعادة قاعدة البيانات

حاولت استعادة قاعدة بياناتي لأول مرة منذ استخدام discourse، لكنني حصلت على خطأ مثل هذا:

هل يمكن لأي شخص المساعدة؟ شكرًا لك.

@VANHUSSEN

هل جربت الاستعادة من سطر الأوامر داخل الحاوية؟

يرجى عدم نشر نفس المشكلة عدة مرات.

نعم، قمت برفع ملف النسخ الاحتياطي إلى المجلد /var/www/discourse/public/backups/default/ على الخادم الجديد.

انتقل إلى مجلد /var/www/discourse/ على الخادم الجديد.

cd /var/www/discourse/

قم بتثبيت التبعيات.

sudo gem install thor

انتقل إلى لوحة تحكم المسؤول في Discourse → الإعداداتالنسخ الاحتياطي، وقم بتفعيل خيار السماح بالاستعادة.

بعد ذلك، قم بتشغيل الأمر التالي لاستعادة الموقع من ملف النسخ الاحتياطي.

RAILS_ENV=production script/discourse restore file-name-of-the-backup-file.tar.gz

بمجرد انتهاء عملية الاستعادة، أعد تشغيل Discourse.

sudo systemctl restart discourse discourse-sidekiq

ثم قم بتحديث صفحة الويب الخاصة بـ Discourse.
لكن عند الخطوة:
sudo gem install thor

حصلت على خطأ. لماذا؟

عذراً جيف أتوود، لقد نشرت نفس المشكلة عدة مرات.

مرحبًا @VANHUSSEN

بناءً على رسائل الخطأ القليلة التي نشرتَها، يبدو أن لديك مشكلة في إصدار Ruby الذي تستخدمه.

هذا على الأقل ما تشير إليه رسالة الخطأ التي نشرتَها في مشاركتك الأولى.

هل جربت إعادة بناء الحاوية ثم تشغيل عملية الاستعادة؟

لقد جربت الأمر التالي:
إزالة ruby2.5-dev.

sudo apt remove ruby2.5-dev

تثبيت ruby2.6-dev من مستودع PPA.

sudo apt install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt install ruby2.6-dev

لكنني ما زلت أحصل على خطأ. يرجى المساعدة.

مرحبًا @VANHUSSEN

ربما يكون من الأفضل أن تقوم بإعادة بناء الحاوية الافتراضية المدعومة بدلاً من استخدام الطريقة الحالية.

./launcher rebuild app

بافتراض بالطبع أن حاوية Discourse الخاصة بك محددة في ملف app.yml

قم بتثبيت Discourse بدون Docker.

xen@xen:~$ lsb_release -a

لا توجد وحدات LSB متاحة.
معرف الموزع: Ubuntu
الوصف:    Ubuntu 18.04.4 LTS
الإصدار:        18.04
الاسم الرمزي:       bionic

أوصيك بلطف باستخدام Docker في التثبيت إذا كنت تشغّل تطبيق Discourse في بيئة إنتاجية وتطلب الدعم في قناة Support.

أما إذا كنت مطوّرًا والتثبيت ليس لبيئة إنتاجية، فهذه قصة أخرى :slight_smile: وقد تفضّل النشر في قناة Development.

إذا لم يكن هذا تثبيتًا للتطوير، فإن Docker إلزامي.

يجب عليك اتباع دليل التثبيت القياسي لكي نتمكن من تقديم أي دعم.