النسخ الاحتياطي للإعدادات فقط

وفقًا للرابط، هناك اهتمام ولكن مرّت عدة سنوات ولا أعرف ما إذا كانوا قد طبقوه بالفعل أم لا.

سيناريو مفيد جدًا لهذا هو تكوين خادم VPS بنفس الإعدادات الدقيقة للخادم الإنتاجي، وستكون وحدة VPS المستنسخة هذه مخصصة للتطوير فقط. بهذه الطريقة، يمكنني العمل بفعالية أكبر مع فريقي من المطورين.

4 إعجابات

هممم… هل رأيت الحل الذي نشره @pfaffman؟

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

إنه ليس حلاً أصليًا، والمستودع يوضح أنه قد يفشل.

يمكنك استخدام عمليات النقل المجمعة الإدارية (رابط من ملف README):

إعجابَين (2)

أنت بحاجة إلى أكثر بكثير من مجرد الإعدادات لترى أن الأمور تعمل. لماذا لا تستعيد قاعدة بيانات الإنتاج إلى بيئة الاختبار المؤقتة (staging)؟ انظر إعداد خادم اختبار مؤقت.

3 إعجابات

سؤال واحد: هل يستنسخ ذلك أيضًا بيانات اعتماد المنتدى ومحتواه؟ لأنه من الواضح أن المطورين لا يحتاجون إلى ذلك، فقط التكوين الأساسي لتطوير المكونات الإضافية. لا أريد أن يكون لديهم وصول إلى حسابات المستخدمين الخاصة بي، ناهيك عن حسابات المسؤول.

نعم - إنه يستنسخ كل شيء على الإطلاق. إذا كان لديك مطورون غير موثوق بهم، فقد لا يكون هذا هو أفضل شيء. شخصيًا، سأحصل على مطورين موثوق بهم!

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

حظا سعيدا!

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

إذًا ربما يكون هيكل التصدير قريبًا مما تحتاجه. إنه لا يصدر المحتوى

3 إعجابات

هل يمكنني اختيار ما يتم تصديره، أليس كذلك؟ ما هي جميع الخيارات المتاحة؟ “إلخ.” لا تساعد كثيراً.

لا.

لا يوجد إلخ.

يتم تصدير:

  • الإعدادات
  • مستخدمو المسؤول
  • المجموعات
  • الفئات
  • العلامات/مجموعات العلامات
  • السمات/مكونات السمات/الإعدادات

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

نحن دائمًا نشغل شيئًا كهذا على خادم التدريج فور استعادة النسخة الاحتياطية من بيئة الإنتاج، مما يؤدي إلى إخفاء هوية جميع المستخدمين باستثناء الموظفين وأولئك الموجودين في مجموعة testusers.

keep_groups = Group.where(name: ['staff', 'testusers']).pluck(:id)
acting_user = User.find(-1)
User.all.each do |u|
  next if u.in_any_groups? keep_groups
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end
إعجاب واحد (1)