هل لديك خبرة في استيراد المستخدمين والمواضيع من ملفات CSV؟

لدي عدد قليل (82) من المستخدمين و (133) من المشاركات أود نقلها من محاولة فاشلة على منصة سابقة. قليلة، ولكنها كافية لجعل النسخ واللصق مرهقًا. آمل مبدئيًا في تجربة البرنامج النصي المستورد لملفات CSV. ستكون هذه المرة الأولى التي أعمل فيها مع برنامج نصي بلغة Ruby.

لقد أعددت ملفات CSV وفقًا لـ discourse/script/import_scripts/csv_importer.rb at main · discourse/discourse · GitHub

ولكن ما لم أكن أخطئ، يبدو أن البرنامج النصي المستورد لملفات CSV غير مكتمل. لا أرى أي بند في متطلبات CSV أو البرنامج النصي لربط المشاركات بالمواضيع الأصلية. لست متأكدًا مما سيبدو عليه هذا في النهاية.

أود أيضًا الاحتفاظ بتواريخ المشاركات الأصلية، ولكن لا يوجد حقل هنا لذلك.

يتعامل مستورد Zendesk مع حقلي “topic_id” و “created_at”. لا أعرف ما إذا كان مستورد Zendesk سيكون خيارًا أفضل، أو ما إذا كان سيفشل بسبب الحقول التي تفتقر إليها بيانات CSV الخاصة بي. (أنا لا آتي من Zendesk.)

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

لقد استخدمت مستورد CSV قبل دمجه في النواة (ورعيت تطويره بواسطة @pfaffman).

بدا أنه يحافظ على المشاركات في المواضيع بشكل جيد، بالإضافة إلى تواريخ المشاركات الأصلية. لماذا لا تجربه على نسخة تجريبية (أو ببساطة بعد إجراء نسخة احتياطية) وترى ما سيحدث؟

إذا كانت هناك مشكلات، فسيكون من الجيد إصلاح البرنامج النصي - ولكني أشك في أنه سيؤدي المهمة بشكل جيد بالنسبة لك.

إعجاب واحد (1)

أخيرًا أعود إلى هذا بعد تأجيله لفترة. أنا على استعداد لتشغيل نسخة احتياطية وتجربة شيء ما إذا أمكنني فهم فرصة النجاح، لكنني أتوق إلى مزيد من الثقة هنا. أفتقر إلى الكثير من الخبرة في البرمجة النصية ولكني أود حقًا أن أفهم كيف سيحافظ مستورد CSV على المشاركات (الردود) والتواريخ، كما يقترح @nathank، نظرًا لأن البرنامج النصي لا يبدو أنه يحدد أي معالجة لها.

يقوم باستيراد حقول محدودة لـ: المستخدمين، رسائل البريد الإلكتروني، حقول المستخدم المخصصة، الفئات، والمواضيع.

لا أحتاج إلى حقول مستخدم مخصصة أو فئات جديدة، لذا فإن ملفات CSV ذات الصلة والحقول المحددة هي:

 == تنسيق ملفات CSV
اسم الملف: users
العناوين: id,username

اسم الملف: emails
العناوين: user_id,email

اسم الملف: topics_new_users
العناوين: id,user_id,title,category_id,raw

اسم الملف: topics_existing_users
العناوين: id,user_id,title,category_id,raw

من نظرة خاطفة على نموذج البيانات هذا، فإن مواضيع Discourse والمشاركات هما شيئان مختلفان مع بعض الحقول المميزة:

لا أرى شيئًا في البرنامج النصي لمعالجة المشاركات - أو التواريخ.

ربما يُفترض مني تجميع بيانات المواضيع والمشاركات الواردة معًا، ولكن إذا كان الأمر كذلك، فكيف سيستنتج Discourse علاقة الموضوع/الرد - هل هو مجرد تسلسل الإدخال؟ هل ترتبط الردود بموضوع له الظهور الأول لمعرف مشترك؟ كل ما يقوله عن المعرفات هو:
باستثناء topics_existing_users، يمكن أن تكون المعرفات في البيانات أي شيء طالما أنها متسقة بين الملفات.

إذا لم يكن البرنامج النصي يفتقد شيئًا، فيجب أن أكون أنا. أقدر أي أفكار توضيحية!