هذه هي نقطة الإعداد أعلاه؛ من المفيد جدًا أن يشير خادم الاختبار إلى نفس الحاوية، مما يسهل مزامنتها.
ومع ذلك، لا تريد أن يساهم بأي نسخ احتياطية تلقائيًا (أو يحذف أيًا منها) - ومن هنا جاء إيقاف تشغيل هذه الإعدادات:
أتفق على أنه يجب إيقاف تشغيل شبكة توصيل المحتوى (CDN) لموقع الاختبار الخاص بك. لم أعبث بذلك بنفسي، ولكن بمجرد أن تعرف كيفية القيام بذلك، يرجى التحديث / الإضافة إلى ويكي في الموضوع الأصلي.
شكرًا لك، ناثان. رأيت إشارة إلى أن النسخ الاحتياطي لـ S3 يجعل الأمور أسهل، لكن النسخ الاحتياطي يختلف عن أصول الموقع، لذا لم أكن متأكدًا.
لقد قمت بالفعل بإيقاف النسخ الاحتياطي ورسائل البريد الإلكتروني، لذا كل شيء على ما يرام. سأقوم بتوجيه خادم التدريج إلى الحاوية الحالية والتأكد من أنه لا يستخدم شبكة توصيل المحتوى (CDN).
أخطط لإنشاء نسخة طبق الأصل من إنتاج Discourse الخاص بي باستخدام طريقة rsync.
لدي عدد قليل من مواقع الويب الأخرى التي تتكامل مع Discourse، لذا فإن امتلاك إصدارات التطوير/الاختبار لتلك المواقع قادرة على الوصول والتفاعل مع إصدار التطوير/الاختبار/المرحلة من Discourse سيكون مثاليًا.
لذلك سأقوم بتشغيله فقط عند الحاجة، وسأقوم باستعادة نسخة احتياطية من قاعدة بيانات PROD الخاصة بي على STAGING بشكل دوري - ليس يوميًا وربما مرة واحدة شهريًا فقط.
إذا قمت بذلك، فكيف أمنعها من تغيير بعض الإعدادات مرة أخرى عند إجراء استعادة قاعدة البيانات؟
هذه على سبيل المثال، ستكون لا تقدر بثمن:
هل هناك طريقة يمكنني من خلالها استعادة نسخة احتياطية من قاعدة البيانات ثم ربما تطبيق بعض الإعدادات يدويًا قبل بدء تشغيل Discourse؟ أي أفكار أو اقتراحات أو مشاكل أخرى؟
إذا كنت تحتفظ بنسخ احتياطية على S3 وتكوّن ذلك عبر متغيرات البيئة (ENV variables)، فيمكنك بسهولة إنشاء موقع جديد يمكنه استعادة هذا النسخ الاحتياطي. فقط قم بتشغيل جهاز افتراضي جديد، واستنسخ discourse، وانسخ ملف yml، وأعد البناء واستعد. يمكنك تجاوز الإعدادات في قاعدة البيانات باستخدام متغيرات البيئة كما في الاقتباس في منشورك.
هل فاتني خطوة؟ أنا متأكد من أن هذا كان يعمل قبل عام تقريبًا. ولكن الآن، بينما يقوم بالتعبئة، فإنه لا يضيف أي مواضيع أو مشاركات تتجاوز حول الفئة… هل تغير شيء ما؟
لقد انتهى بي الأمر باستعادة نسخة احتياطية قديمة من إحدى مثيلات discourse الخاصة بي حيث كنت قد استخدمت هذه الطريقة سابقًا للتعبئة. اضطررت إلى القيام بـ هذا، لكنه نجح.
هناك شيء عليك القيام به لتتمكن من إسقاط قاعدة البيانات. إذا قمت بمهمة db:drop، فستخبرك بما هي. لذا أعتقد أنك ستحتاج إلى sv stop unicorn ثم إسقاط قاعدة البيانات وإنشائها وترحيلها قبل تشغيل المهمة. أو هذا هو الشيء التالي الذي سأحاوله، ولكن لديك حل آخر…