مرحباً، أنا أقوم بنقل كمية هائلة من المحتوى من برنامج المنتدى القديم (المملوك) إلى منتدى Discourse جديد.
بما أنني لست مبرمج Ruby، لم أستطع البدء فعلياً مع سكريبتات الاستيراد المقدمة من Discourse… فهي ببساطة ليست حلاً مناسباً لي. لذا، أنا أعتمد فقط على استدعاء واجهة برمجة التطبيقات (API) للتعامل مع جميع الخطوات.
المشكلة هي أنني أواجه العديد من المشاكل على طول الطريق… في الغالب حدود المعدل (rate limiting)، ولكن أيضاً مشاكل تتعلق بالمنتديات المكررة، والحصول على محتوى الرسالة عبر جميع “فحوصات الواقع” (على سبيل المثال: الحد الأدنى لطول المنشور، والذي توصلت أخيراً إلى تغييره إلى ‘1’ في الإعدادات).
هل هناك خيار آخر أو أفضل؟ هل يمكنني بطريقة ما دفع البيانات مباشرة إلى قاعدة البيانات، أو …؟
إذا كنت تعرف أي لغة برمجة، فإن البدء بسكربتات الاستيراد الموجودة هو الخيار الأفضل. سكربتات الاستيراد بالجملة تعدّل SQL مباشرةً، لكنها لا تزال مكتوبة بلغة Ruby.
حسناً… سأقوم بفحص السكريبتات… أنا مبرمج ذو خبرة في لغات أخرى، لكن ليس في Ruby/RoR.
…
حسناً، عدت بعد فحص سكريبتات الاستيراد الحالية على GitHub. من ما أراه، يبدو الأمر مشابهاً جداً للكود الذي كتبته بالفعل لاستيراد البيانات… الكثير من الحلقات لاسترجاع المستخدمين، والمواضيع، وأخيراً الرسائل. هناك كود خاص للتعامل مع المرفقات (رفعها بشكل منفصل، الحصول على الرابط الداخلي لـ Discourse، وإضافته إلى جسم الرسالة).
هل هناك أي استدعاءات خاصة للـ API أو أي شيء آخر أفتقده في هذه السكريبتات قد يساعدني؟ المشكلة ليست في أنني لا أستطيع كتابة سكريبت استيراد خاص بي (باستخدام الـ API)، بل المشكلة هي أن الأمر يبدو غير سلس وأتساءل عما إذا كان هناك حل أكثر سلاسة وأناقة. إذا كانت هناك أي “حيل” (مثل استدعاءات API خاصة؟) في السكريبتات النموذجية يمكنني الاستفادة منها في لغة أخرى، فسأكون سعيداً جداً لفهمها.
هاه، نعم، لقد اتفقنا على ذلك، وقد اتفقنا أيضًا على أنني لا أعرف RoR، لذا فإن استثمار الوقت لإعادة كتابة أحد السكربتات الموجودة ليس حلاً جيدًا بالنسبة لي أيضًا. إذا كان لديك أي توصيات أخرى قد تساعدني هنا ;-)، فسأكون ممتنًا جدًا لسماعها. شكرًا لك.
تُعدّ سكريبتات الهجرة الأساسية نقطة انطلاق ممتازة. قبل شهر، لم أكن قد برمجتُ في لغة روبي من قبل أيضًا.
في الواقع، قبل بضعة أيام، كتبتُ سكريبت PHP مخصصًا للمساعدة في عملية الهجرة (بعد أن قضيتُ عقدًا من السنين في عالم PHP)، لكنني قرّرتُ إعادة كتابته بلغة روبي، و"إنها قطعة من الكعك" LOL
الآن، أنا من محبي روبي!
بدت لي لغة روبي غريبة بعض الشيء في البداية، لكنها بدأت الآن في أن تصبح مفهومة.