# هجرة كبيرة لمنتديات Drupal، أخطاء وقيود المستورد

**URL:** <https://meta.discourse.org/t/large-drupal-forum-migration-importer-errors-and-limitations/246939>\
**Category:** Migration\
**Tags:** drupal\
**Created:** [28 نوفمبر 2022، 2:26م UTC](https://meta.discourse.org/t/large-drupal-forum-migration-importer-errors-and-limitations/246939 "2022-11-28T14:26:50Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [28 نوفمبر 2022، 8:07م UTC](https://meta.discourse.org/t/large-drupal-forum-migration-importer-errors-and-limitations/246939/2 "2022-11-28T20:07:20Z")

</div>

هذه المجموعة من المشكلات هي أمر طبيعي تقريبًا بالنسبة لعملية استيراد كبيرة. من كتبها لم يهتم (ربما لم يكن لديه ما يكفي لملاحظة) بالمشكلات التي تصفها.

> [@rahim123](#):
>
> بصرف النظر عن الخطأ المذكور أعلاه

وهو ما يبدو وكأنه خطأ في Drupal أو قاعدة البيانات نفسها (لا ينبغي أن تحدث معرفات مكررة). كنت سأقوم بتعديل البرنامج النصي للاختبار و/أو التقاط الخطأ عند وجود تكرارات، ولكن طريقتك نجحت (ما لم يكن هناك المزيد).

> [@rahim123](#):
>
> أحتاج أيضًا إلى الاحتفاظ بالروابط إلى تعليقات محددة داخل تلك العقد،

يمكنك البحث في نصوص استيراد أخرى تنشئ روابط دائمة للمنشورات. `import_id` موجود في `PostCustomField` لكل منشور.

> [@rahim123](#):
>
> لا أرى أي رمز لذلك في `/import_scripts/drupal.rb`.

إنه موجود إما في `base.rb` أو في مقترح اسم المستخدم. إنه يعمل بشكل جيد ولا يوجد الكثير مما يمكنك فعله لتغييره.

> [@rahim123](#):
>
> أضف شرطًا بسهولة إلى اختيار SQL `WHERE status = 1` لاستيراد الحسابات النشطة فقط،

من المحتمل أنك لا تريد القيام بذلك. المشكلة هي أن المنشورات التي أنشأها هؤلاء المستخدمون ستكون مملوكة لـ `system`. يمكنك البحث في البرامج النصية الأخرى للحصول على أمثلة حول كيفية تعطيلها. يحتوي fluxbb على برنامج نصي `suspend_users`، والذي يجب أن يساعد.

> [@rahim123](#):
>
> حقول ملف تعريف المستخدم

يقوم `fluxbb` (الذي أعمل عليه الآن) بذلك. ما عليك سوى إضافة شيء مثل هذا إلى نص استيراد المستخدم:

`location: user['location'],`

> [@rahim123](#):
>
> يبدو غريبًا بعض الشيء أن هناك رمزًا في مستورد Drupal لاستيراد Gravatars ولكن ليس للصور الرمزية المحلية للحسابات المستخدمة بشكل شائع.

يتم التعامل مع Gravatars بواسطة discourse core، لذلك لا يقوم البرنامج النصي بأي شيء لاستيرادها؛ إنه يعمل فقط. يمكنك البحث في البرامج النصية الأخرى عن “avatar” للعثور على أمثلة حول كيفية القيام بذلك.

> [@rahim123](#):
>
> الرسائل الخاصة:

ابحث عن أمثلة. . . . يحتوي ipboard على `import_private_messages`.

---

_[View the full topic](https://meta.discourse.org/t/large-drupal-forum-migration-importer-errors-and-limitations/246939)._
