ما هو أفضل إجراء لدمج العمل المنجز على نسخة تطوير الموقع إلى نسخة الإنتاج المباشر؟ في كثير من الأحيان تمت إضافة الكثير من المحتوى الجديد إلى الموقع منذ بدء التطوير على أحدث الميزات. وستتضمن معظم الإضافات إلى الموقع تغييرات قاعدة البيانات. لذا فإن نسخ أي ملفات جديدة أمر سهل ، ولكن ماذا عن قاعدة البيانات؟ كيف تدمج تغييراتك مع قاعدة بيانات الإنتاج الحالية دون فقدان المحتوى الجديد الذي تمت إضافته منذ آخر مرة قمت فيها بتحديث موقع الإنتاج؟ هل هناك أي وحدات تساعد في ذلك؟
بالنسبة لأنواع المحتوى وطرق العرض وتغييرات الهيكل في موقع dev ، انظر إلى استخدام الميزات لتصدير قاعدة البيانات إلى التعليمات البرمجية.
لترحيل المحتوى ، هناك العديد من الخيارات ، ولكن ليس هناك حل واحد قوي. أحد الأمثلة --- مجموعة النشر .
لقد تبنيت في الأساس مدرستين فكريتين هنا (مدرسة فكرية ثالثة ، تختلف قواعد البيانات ، ولن أناقش لأن التعقيد مرتفع جدًا).
1) النشر بإسقاط قاعدة بيانات الإنتاج واستيراد الخلية لقاعدة بيانات التطوير. بشكل اختياري ، قم بتشغيل بحث/استبدال regex مسبقًا على أي روابط مطلقة مشفرة تشير إلى عنوان URL dev في تفريغ SQL. بعد استيراد dev db إلى prod ، قم تلقائيًا بتشغيل عبارات SQL (عادةً عبر البرنامج النصي) بعد ذلك لتغيير أي إعدادات تختلف عن prod عن dev (على سبيل المثال ، ربما لديك في جدول المتغيرات بعض إعدادات الاتصال للاتصال بالأنظمة الخارجية التي تحتاج إليها التغيير للإشارة إلى الأنظمة الخارجية المعززة بدلاً من إصدار مطور البرامج).
2) استخدم الميزات الوحدة النمطية ، كما ذكر من قبل budda ، لإعدادات المشرف ، واستخدم تصدير العقدة وحدة لتصدير/استيراد المحتوى مع حذف الكل الوحدة. لذا فإن سير العمل هو:
ملاحظة واحدة ، أقترح بشدة اعتماد سير عمل قياسي ، حيث يسير المحتوى في اتجاه واحد فقط. إما Dev -> Prod أو Prod -> Dev (أفضل هذا).
لقد فعلت ذلك ، وأنا أفعل ذلك على بعض الأنظمة الكبيرة ، مع نتائج جيدة إلى حد ما ، ولكن سيكون هناك دائمًا العديد من الطرق لتقطيع هذه Apple ، واختيار الطريقة الأفضل بالنسبة لك.
تفريغ قواعد البيانات لنسخ الموقع المباشر ونسخة التطوير للموقع في ملف SQL (استخدم نفس المعلمات والإعدادات لكل من مقالب).
ثم قارن كلا ملفي SQL باستخدام أداة مقارنة صغيرة ExamDiff . سيعرض اختلافات الملفات جنبًا إلى جنب بألوان مختلفة. يمكنك القفز مباشرة إلى الاختلافات أيضًا (بدون التمرير). افحص الاختلافات وأضف/عدّل الخطوط إلى ملف SQL للموقع المباشر. تأكد من عدم وجود مسار مطلق/عنوان URL لبيئة التطوير في هذا الملف. انتهى! حان الوقت لاستعادة قاعدة البيانات للموقع الحي.
اجعل حياتك أسهل: في الخطوة الأولى ، تفريغ فقط تلك الجداول التي تم تغييرها. على سبيل المثال ، إذا قمت بتحرير وحدة نمطية في نسخة التطوير والتي تستهدف جدولاً منفصلاً ، فقم بتفريغ هذا الجدول فقط. إذا لم تكن متأكدًا من جدول معين ، فلا بأس من تفريغ قاعدة البيانات بالكامل.