قبل بضعة أشهر قمت بتثبيت Discourse، وأضفت بعض المواضيع كموضوع فهرس (Index Topic) في قسم وضع التوثيق (Documentation Mode). كل شيء عمل كما هو متوقع.
قمت بعمل نسخة احتياطية لكل شيء، وحذفت حساب Digital Ocean، إلخ.
قبل بضعة أيام قمت بتثبيت Discourse مرة أخرى واستعدت كل شيء من ملف النسخ الاحتياطي الذي أنشأته وكل شيء يعمل، باستثناء أقسام التوثيق. في البداية اعتقدت أن المشكلة قد تكون أنني ألغيت إدراج مواضيع الفهرس تلك، لكنها كانت غير مدرجة قبل أن أقوم بإلغاء تثبيت كل شيء وكانت تعمل، لذلك لا يمكن أن تكون هذه هي المشكلة. ومع ذلك، حاولت إدراجها، ولكن دون جدوى. كان الشريط الجانبي لا يزال يعرض الفئات وكل تلك الأشياء الأخرى الافتراضية.
ثم قررت نسخ محتوى الموضوع الأصلي وإنشاء موضوع جديد به، وتعيينه كموضوع فهرس، وهذا الموضوع يعمل. كما قمت بإغلاقه وإلغاء إدراجه مثل الموضوع الذي لا يعمل، لذا فإن الإغلاق والإلغاء ليسا المشكلة.
يبدو أنه في عملية الاستعادة، هناك شيء ما يكسر وضع التوثيق لسبب ما.
شكراً على الرابط.
بما أنني ما زلت أقوم ببناء الهيكل بأكمله، فقد انتهى بي الأمر بإنشاء موضوع جديد، ونسخ ولصق المحتوى من الموضوع القديم، وحذف الموضوع القديم. كان لديّ اثنان فقط من هذه على أي حال.
لذا، سؤالي هو: هل مهمة rake task هذه شيء أحتاج إلى القيام به في كل مرة أقوم فيها بتحديث Discourse؟ أم فقط عند الاستعادة (إذا قمت بذلك مرة أخرى في المستقبل)؟
لا، مهمة الـ rake تلك هي مجرد شيء لمرة واحدة من تاريخ المنشور المقتبس.
لا ينبغي عليك إعادة إنشاء الموضوع، فمجرد الذهاب إلى إعدادات الفئة، وفصل الارتباط، والحفظ، وإعادة ربط الموضوع الحالي على الأقل يجب أن ينجح.
مما أتذكره في ذلك الوقت - لا يمكن أن تكون هجرة. الهجرات من الناحية المثالية لا تلمس كود التطبيق (لأن الكود يمكن أن يبتعد عن وقت نية الهجرة ويؤدي إلى خطأ).
يتضمن هذا الـ PR أيضًا مهمة rake (doc_categories.rake) لإعادة بناء أقسام وشروحات الشريط الجانبي من مواضيع فهرس الوثائق النشطة - لا يوصى بهذا بالضبط للقيام به في هجرة لأنه سيتضمن إما استخدام المحلل أو nokogiri (التي يمكن أن تختلف تطبيقاتها وتسبب هجرة غير صالحة).