استيراد CSV لترحيل دروبال 7 إلى 8 - دليل كامل

نشرت: 2020-02-11

هجرة دروبال 7 إلى 8 ليست مملة لأن هناك العديد من الطرق للقيام بالهجرة! اعتمادًا على مدى تعقيد المشروع ، يمكننا اختيار التقنية التي تناسبه بشكل أفضل. الأمر الذي سنناقشه في هذه المدونة هو ترحيل المحتوى والتكوين من دروبال 7 إلى دروبال 8 باستخدام طريقة استيراد CSV.

CSV- المستورد- دروبال

يوفر دروبال وحدات مختلفة لاستيراد البيانات من مصادر مختلفة مثل JSON و XML و CSV. يوفر نظام واجهة برمجة تطبيقات ترحيل نواة دروبال 8 مجموعة كاملة من واجهات برمجة التطبيقات التي يمكنها بشكل أساسي التعامل مع أي نوع من الترحيل من إصدار سابق من دروبال إلى دروبال 8.

بعض الأعمال التحضيرية قبل الهجرة دروبال 7 إلى 8

للانتقال من Drupal 7 إلى Drupal 8 باستخدام استيراد CSV ، سنحتاج إلى هذه الوحدات.

وحدات دروبال 7 -

  • المشاهدات تصدير البيانات : يجب تثبيت هذه الوحدة في موقع دروبال 7 الخاص بنا. تساعد وحدة تصدير بيانات المشاهدات في تصدير البيانات بتنسيق CSV.

  • Views Password Field : تساعد هذه الوحدة على ترحيل كلمات المرور التي سترسل كلمات المرور بتنسيق مجزأ.

وحدات دروبال 8 -

  • ترحيل - تساعد وحدة Drupal 8 Migrate في استخراج البيانات من مصادر مختلفة إلى Drupa 8.

  • Migrate Plus - ستساعد وحدة دروبال 8 هذه في معالجة بيانات المصدر المستوردة

  • ترحيل دروبال - تقدم هذه الوحدة الدعم في ترحيل المحتوى والتكوينات إلى دروبال 8.

  • ترحيل مصدر CSV - تقدم هذه الوحدة مكونًا إضافيًا للمصدر يمكنه ترحيل الكيانات والمحتوى إلى دروبال 8 من ملفات .csv.

  • أدوات الترحيل - تساعد وحدة دروبال 8 هذه من خلال تقديم أدوات واجهة المستخدم / أوامر Drush لإدارة عمليات الترحيل.

  • وحدة تطوير التكوين - تساعد هذه الوحدة في استيراد ملفات التكوين إلى دروبال 8.

دع هجرة دروبال 8 تبدأ!

أولاً ، نحتاج إلى إنشاء وحدة مخصصة لترحيل Drupal 8 . دعنا نسمي هذه الوحدة باسم test_migrate . ونعلم أنه بعد إنشاء وحدة مخصصة ، نحتاج إلى إنشاء ملف info.yml .

ملف CSV1

تظهر الصورة أعلاه المفاتيح المطلوبة لـ info.yml .

بمجرد إنشاء ملف info.yml ، نحتاج إلى إنشاء مجموعة ترحيل من أجل الترحيل. يجب إنشاء مجموعة الترحيل هذه في المسار: test_migration> config> install . يجب أن يكون اسم المجموعة migrate_plus.migration_group.test_migration.yml .

ملف CSV2

تُظهر لقطة الشاشة أعلاه بنية المجلد لإنشاء مجموعة ترحيل.

داخل ملف migrate_plus.migration_group.test_migration.yml ، نحتاج إلى كتابة المعرف والتسمية والوصف لمجموعة الترحيل التي تظهر في لقطة الشاشة أدناه.

ملف CSV3

بعد إنشاء مجموعة الترحيل ، نحتاج إلى تثبيت هذه المجموعة في ملف info.yml الخاص بنا .

csv

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

لنكتب الآن برنامج نصي في ملف yaml لترحيل المستخدم. لذلك ، من أجل كتابة ترحيل المستخدم ، نحتاج إلى ملف yaml للمستخدم باسم migrate_plus.migration.test_migration_users.yml ويتم عرض البرنامج النصي للهجرة أدناه.

ملف CSV5

هذه هي المفاتيح المطلوبة لترحيل ملف csv المصدر هنا والذي نحتاج إلى ترحيله. يجب وضع ملفات Csv في أصول المسار > csv> user.csv . يتم عرض Users.csv أيضًا أدناه.

ملف CSV6

ملف CSV7

المسار - يشير إلى مسار ملف csv.

header_row_count - سيعطي هذا عدد الصفوف وهو رأس عمود معين.

المفاتيح - والتي يجب أن تكون فريدة لكل صف.

العملية - في هذا نقوم بتعيين ملفات csv إلى الحقول.

ملف CSV8

توضح الصورة أعلاه التعيين بين الحقول و csv. هنا ، الاسم هو اسم الجهاز لحقل اسم المستخدم والعنوان هو عنوان عمود csv. إذا كانت لدينا بيانات متعددة لحقل واحد ، فإننا نستخدم المحددات. قد يكون للمستخدمين أدوار متعددة في هذه الحالة نكتب كما هو موضح في الصورة أعلاه.

يتم ترحيل الصور عن طريق كتابة مكون إضافي مخصص. يمكن كتابة المكون الإضافي المخصص في المسار src> plugin> migigration> process . في الصورة أعلاه ، يمكنك أن ترى أن user_image_import_process عبارة عن مكون إضافي مخصص مكتوب لترحيل صور المستخدم.

csv9

داخل UserImportProcess.php نكتب الوظيفة التي ستنسخ الصورة وحفظها في الوجهة. يظهر السيناريو في الصورة أدناه.

ملف CSV10

من أجل تحديد مكان حفظ الصور ، سنكتب وظيفة أخرى ImageImportprocess . في هذه الوظيفة سنذكر اسم آلة الصورة.

ملف CSV11

يوجد في ملف المستخدمين info.yml قسم الوجهة الذي سيشير إلى مكان تخزين البيانات التي تم ترحيلها وما هو الكيان. تم وضع علامة في الصورة أدناه.

ملف CSV12

بعد إنشاء الكود للمستخدمين ، نحتاج إلى كتابة yaml لشروط التصنيف. لاحظ أنه إذا كان لديك حقل عنوان فقط في التصنيف الخاص بك ، فلن تحتاج إلى كتابة ملف yaml منفصل. إذا كان لديك عدة حقول في مصطلح التصنيف ، فأنت بحاجة إلى كتابة ملف yaml منفصل. من حيث التصنيف ، سيكون لدينا tid كمفتاح لأن tid سيكون فريدًا لكل مصطلح.

ملف CSV13

بعد ذلك سنقوم بترحيل الفقرات. لذلك نحتاج إلى إنشاء ملف yaml منفصل. يظهر رمز الترحيل في الصورة أدناه.

ملف CSV14

أخيرًا ، يتيح ترحيل نوع المحتوى. يظهر ملف yaml الخاص بنوع المحتوى في الكود أدناه.

label : "ترحيل بيانات نوع المحتوى من ملف csv"

migration_group: test_migration

المصدر : المعرف : test_migration_content

البرنامج المساعد : csv

# المسار الكامل للملف.

المسار : "الوحدات النمطية / المخصصة / test_migrate / الأصول / csv / content.csv"

header_row_count : 1

مفاتيح :

- nid

العملية :

# إضافة التعيين بين الحقول وأعمدة csv.

العنوان : العنوان

الترويج : تمت الترقية إلى صفحة الواجهة

لزجة : لزجة

field_display_name : display_name

field_marketing_tagline : marketing_tagline

علم المجال :

البرنامج المساعد : object_lookup

المصدر : التصنيف

نوع الكيان : التصنيف_المصطلح

bundle_key : vid

الحزمة : التصنيف

value_key : الاسم

الجسم / القيمة : الجسم

الجسم / التنسيق :

البرنامج المساعد : default_value

default_value : "full_html"

فقرة_المجال :

- البرنامج المساعد : تنفجر

المحدد : "|"

المصدر : fcid

- البرنامج المساعد : skip_on_empty

الطريقة : عملية

- البرنامج المساعد :igration_lookup

الهجرة : test_migration_paragraphs

no_stub : صحيح

- البرنامج المساعد : مكرر

العملية :

target_id : "0"

target_revision_id : "1"

الوجهة :

المكون الإضافي : "الكيان: العقدة"

default_bundle : المحتوى

اعتمادات الهجرة :

مطلوب :

- test_migration_paragraph

- test_migration_taxonomy

التبعيات : {}

بعد كتابة كافة الملفات YAML في test_migrate.info.yml الهجرة سيحتوي دون تثبيت.

ملف CSV15

بمجرد الانتهاء من كل هذه الخطوات ، انتقل إلى موقعك وقم بتثبيت الوحدة المخصصة الخاصة بك.

ملف CSV16

بعد ذلك ، انتقل إلى مشروعك في Terminal وقم بتشغيل الأمر "drush ms" للتحقق من حالة الترحيل كما هو موضح في الصورة أدناه.

ملف CSV17

للترحيل ، استخدم الأمر drush mimigration-id . يمكننا أن نرى معرّف الهجرة في الصورة أعلاه.

بمجرد الانتهاء ، إذا قمت بفحص حالة الترحيل ، يمكنك رؤية عدد العناصر التي تم ترحيلها.

ملف CSV18

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

أشياء للذكرى

  • إذا تم إنهاء الترحيل بين العملية ، فسيتم عرض حالة الترحيل على أنها "استيراد". لتغيير الحالة إلى الخمول ، تحتاج إلى تشغيل الأمر drush mrsigration-id . بعد ذلك ، قم بتشغيل الأمر drush mimigration-id

  • إذا كنت تريد التراجع عن المحتوى الذي تم ترحيله ، فقم بتشغيل الأمر drush mrigration-id

  • إذا قمت بتغيير أي شيء في الكود بعد بدء عملية الترحيل ، فتأكد من تشغيل الأمر drush cdi test_migration . سيساعدك هذا الأمر على عكس التغييرات أثناء الترحيل. بمجرد الانتهاء من ذلك ، قم بإجراء فحص شامل لموقعك لمعرفة ما إذا كان قد تم ترحيل كل المحتوى.