مرحباً - نظرًا لأن المكون الإضافي المستخدم في مثيل Discourse الخاص بنا لم يعد يتم تحديثه (متعدد اللغات)، وأن بعض ميزاته مدعومة في الإصدارات الأحدث من Discourse، فقد رغبنا في استخدام برنامج نصي للترحيل لنقل القيم في قاعدة البيانات إلى أماكن جديدة.
ومع ذلك، أثناء البحث في مقالات الويكي من هذا الموقع، أو مستودع git الخاص بـ Discourse، لم أجد أي وثائق لكتابة برنامج نصي للترحيل (ما هي الفئة التي يجب الوراثة منها، وما هي الطرق التي يجب استخدامها…).
هل هناك أي وثائق فاتني؟ بخلاف النظر إلى كود الترحيل، هل هناك أي نصائح للتعرف على البرامج النصية للترحيل؟
عندما كان لدي محتوى لترحيله من منصة لا تحتوي على نصوص برمجية متاحة لـ Discourse، لم أتمكن من العثور على وثائق حقيقية حول هذه الأمور. كانت النصوص البرمجية الموجودة تفوق قدرتي على الهندسة العكسية. انتهى بي الأمر باستيراد موضوع تلو الآخر يدويًا عبر وحدة تحكم Rails - وهو أمر غير قابل للتطوير على نطاق واسع.
Honeyxilia، الطريقة التي قرأت بها سؤالك، يبدو أنك قمت بالكثير من العمل مع المكون الإضافي متعدد اللغات Pavilion (Multilingual Plugin) وترغب في “ترحيل” تلك البيانات إلى ميزات تحديد المحتوى المحلية الجديدة في Discourse (Content Localization). هل هذا صحيح؟ (لست متأكدًا من أين أبدأ بذلك أيضًا.)
ما أعنيه بالبرنامج النصي للترحيل هو البرامج النصية لترحيل قاعدة البيانات (db/migrate) التي ترث من ActiveRecord::Migration والتي تُستخدم لتكييف قاعدة البيانات مع تغييرات Discourse.
على سبيل المثال، لدينا أوامر SQL لنقل لغة المكون الإضافي متعدد اللغات إلى لغة Discourse أصلية.
سيكون سؤالي في الغالب حول البرامج النصية لترحيل قاعدة البيانات، من أجل أتمتة أوامر SQL عند ترحيل قاعدة البيانات إلى إصدار أحدث.