نقل المواضيع من نسخة Discourse إلى أخرى

هل تحتاج إلى نقل بعض العناصر من مثيل Discourse إلى آخر؟

توجد أداة سطر أوامر لتصدير موضوع أو مجموعة مواضيع أو فئة كاملة، وأداة أخرى لاستيرادها في الطرف الآخر.

تصدير/استيراد الموضوع

  • موضوع واحد أو أكثر وردودهما
  • المستخدمون الذين نشروا في الموضوع

تصدير/استيراد الفئة

  • الفئة وجميع فئاتها الفرعية
  • إعدادات الأمان الخاصة بها
  • المجموعات المخصصة المذكورة في إعدادات الأمان
    • :warning: إذا كانت أي من المجموعات ممكّنة لـ “طلبات العضوية”، فسيؤدي ذلك إلى تعطل. قم بإيقاف تشغيل هذا قبل التصدير
  • جميع المواضيع والمنشورات في الفئة والفئات الفرعية
  • جميع المستخدمين الذين نشروا، وتعيينهم للمجموعات

البدء: تحديد المعرفات (IDs)

أولاً، حدد معرف (=Export=) أو معرفات (=Export=) التي ترغب في تصديرها. ستجد هذا في نهاية عنوان URL المستخدم للوصول إليه.

  • https://meta.discourse.org/t/how-to-contribute-to-discourse/53797

  • https://meta.discourse.org/t/how-to-contribute-to-discourse/53797/12
    (في هذه الحالة، أنت في منتصف موضوع - التقط الرقم الأول)

  • https://meta.discourse.org/c/howto/faq/4

معرف (ID) الفئة أو الموضوع

مواضيع متعددة

يمكنك تحديد أكثر من موضوع واحد عن طريق إضافة معرفات مفصولة بمسافة؛ يعمل هذا في الحقل أعلاه (لا أعتقد أن هذا يعمل للفئات):

  • 53797 200943 124096

تشغيل برنامج التصدير النصي (Export Script)

يمكن تشغيل الأداة كمستخدم جذر (root) داخل الحاوية:

cd /var/discourse
./launcher enter app

قم بتشغيل هذا الأمر:

discourse export_=Export= =ID=

يجب أن يبدو الإخراج شيئًا كهذا:

بدء تصدير =Export=…

من أين يأتي جميع المستخدمين الجدد؟
تم حفظ التصدير في =Export=-export-2021-08-27-015437.json

تم الانتهاء

نقل الملف المُصدَّر

يجب نقل ملف .json المُصدَّر من داخل حاوية التطبيق حيث قمت بالتصدير إلى داخل حاوية المثيل المُستقبِل. يتطلب هذا بضع خطوات.

نسخه إلى “الخارج”

اخرج من الحاوية إذا لم تكن قد فعلت ذلك بالفعل

exit

يجب أن يكون لديك الآن موجه يشبه هذا:

root@yourserver:/var/discourse

استخدم Docker لنسخ الملف من الحاوية (لا أعتقد أنه يمكنك نقله)

docker cp app:/var/www/discourse/=FileName= .

نقله إلى المثيل الآخر

هذا يتجاوز نطاق هذا الدليل، ولكن هذا قد يساعدك في الوصول إلى هناك:

نسخه إلى داخل الحاوية في المثيل المُستقبِل

قم بتسجيل الدخول عبر SSH إلى مثيلك المُستقبِل كمستخدم جذر وانتقل إلى دليل Discourse:

cd /var/discourse

استخدم Docker مرة أخرى لنسخ الملف إلى الحاوية الأخرى

docker cp =FileName= app:/var/www/discourse

استيراد المحتوى

ادخل إلى الحاوية في المثيل المُستقبِل:

./launcher enter app

قم بتشغيل برنامج الاستيراد النصي (import script)

discourse import_=Export= =FileName=

:cake: تم الانتهاء!

قد تحتاج إلى ترتيب بعض الأمور العالقة، ولكن نأمل أن يكون كل شيء قد تم.

نصائح متقدمة

Gem مفقود في Ruby

عند إجراء تصدير فئة معقد، كانت الحاوية الخاصة بي تفتقد Ruby ‘Listen’.
تم حل هذا عن طريق القيام بما يلي: (باستخدام مستخدم Discourse داخل الحاوية)

./launcher enter app
su discourse
bundle config --delete without
bundle config --delete with
bundle install
exit
exit

أدى هذا إلى كسر console الخاص بـ rails، مما استلزم إعادة بناء بعد ذلك

./launcher rebuild app

بيئة متعددة المواقع (Multisite)

في بيئة متعددة المواقع، استخدم متغير البيئة RAILS_DB.

RAILS_DB=xxxmoves discourse export_=Export= =ID=
RAILS_DB=dancerehab discourse import_=Export= =FileName=

يرجى الإبلاغ عن الأخطاء في فئة #bug، وطلب التحسينات في فئة #feature.


مواضيع ذات صلة


آخر مراجعة بواسطة @SaraDev في 2022-07-13T00:00:00Z

44 إعجابًا
UI: Topic and Category Export/Import
CLI command to migrate a single category
Moving topics between sites?
Category/Topic export fails with error "database "discourse_development" does not exist"
Saving a Conversation
Easiest way to export a single topic?
Migrate user custom fields to another instance
How to export user data from a category on a hosted site
Error Importing Categories from a Discourse Instance to Another
Import CSV User Activity from one Discourse to Another
How use API to convert topic in discourse1.com to discourse2.com
Can sub-forums of the same instance split up and move to new independent servers (or discourse instances)?
Help migrating category from one instance to another without admin on the source instance
Adding default sets of topics, categories and users to a new Discourse
How to download Comments and Topics
Downloading Content
Can we combine 2 separate discourse sites?
Tracking and resolving a schema drift cause
Merge two Discourse forums into one
Moving topics from a forum on one website to a forum on another website
Transfer topics between forums?
Forum Aquisition
Transfering inbox group messages to another instance?
Transfering inbox group messages to another instance?
Imported categories are not in parent category
I wonder how to add hundreds of users into a group? Is there any api?
Selective backups skipping settings and config
Test driving admin/moderation features
Add backup to existing Discourse instance
Merging two Discourse forums
Migrating vBulletin onto existing and live Discourse instance
Migrate topics from one discourse instance to another?
A system where people have to start at lesson 1, and cannot see the other lessons?
How to divide my community into 2 parts