سؤال

عند القراءة عن Rails واللعب بها العام الماضي، كانت Rake إحدى الأدوات التي تركت أكبر انطباع عندي.نظام إصدار قاعدة البيانات الذي يحافظ على دمج جميع قواعد بيانات التطوير المتطابقة في البناء... شيء من هذا القبيل من شأنه أن يجعل الحياة أسهل بكثير (وأكثر أمانًا)!

لكن من الأمور التي لم أتمكن من فهمها:كيف يمكنك نقل هذه التغييرات إلى خوادم الإنتاج الخاصة بك عندما لا يكون لديك حق الوصول فعليًا إلى خوادم الإنتاج؟لدينا خوادم متعددة في جميع أنحاء البلاد حيث تم تثبيت/ترقية التطبيق من خلال حزمة الإعداد.

ملحوظة:يتعلق هذا السؤال بالاستراتيجية أكثر من التقنيات الخاصة بـ Rails/Rake.نحن لا نستخدم القضبان، بل نستخدم .Net.ولكن إذا تمكنت من معرفة سيناريو النشر هذا، فيبدو أن هناك العديد من الأدوات Migratordotnet كونها واحدة والتي قد تمكننا من القيام بشيء مماثل.

هل كانت مفيدة؟

المحلول

كما تعلم، فإن طريقة ريلز القياسية لإجراء عمليات الترحيل في الإنتاج هي كابيسترانو.يحتوي على مهمة نشر: عمليات ترحيل تقوم بتشغيل عمليات الترحيل على خوادم بعيدة باستخدام ssh.

قد تكون قادرًا على تكييف Capistrano لفعل ما تريد.إنها في الأساس طريقة مرنة لتشغيل الأوامر على مجموعات من الخوادم البعيدة.يجب أن يكون لديك Ruby مثبتًا على الجهاز الذي تقوم بنشره من لاستخدامه، ولكن ليس على الأجهزة التي تقوم بنشرها ل.

قد يكون أفضل خيار لديك هو كتابة مهمة Capistrano مخصصة لتحميل ملف setup.exe، وتشغيله، ثم تشغيل عمليات الترحيل (ربما باستخدام Migrator.NET).

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top