كيف يمكنني تضمين قاعدة البيانات الخاصة بي في عملية التكامل المستمر؟

StackOverflow https://stackoverflow.com/questions/1361010

  •  20-09-2019
  •  | 
  •  

سؤال

يرجى المعذرة ، اليوم هو أول يوم لي في محاولة لإعداد بيئة CI باستخدام TeamCity. أقوم بتطوير تطبيق خادم ASP.NET/SQL جيدًا حتى الآن. MSBuild هو مزود بلدي.

أود أن أعرف ما هي الخيارات عندما يتعلق الأمر بالتأكد تلقائيًا من التغييرات في قاعدة البيانات المحلية الخاصة بي إلى خادم الاختبار كجزء من عملية التكامل. الآن لست متأكدًا جدًا من أنني أرغب في الذهاب في اتجاه DBGHOST لمزامنة تغيير المخطط تلقائيًا ، سأكون سعيدًا فقط باستبدال قاعدة البيانات على خادم الاختبار بنسخة من قاعدة البيانات المحلية الخاصة بي.

ما هي خياراتي هنا؟

تحرير: يوضح المزيد من التحقيق أن منتجات Redgate SQL جيدة لهذا الغرض. أنها ليست رخيصة رغم ذلك. لديهم ورقة بيضاء لطيفة حول استخدام منتجاتهم ضمن عملية تكامل مستمرة: http://downloads.red-gate.com/helppdf/continuiniNtegrationFordataBasesusingRedGatesQlTools.pdf

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

المحلول

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

كما كتبت في إجابتي, ، أحتفظ بمجموعتين من البرامج النصية: مجموعة واحدة يمكنها إنشاء قاعدة البيانات من نقطة الصفر ، والتي يمكنها ترقية قاعدة بيانات معينة من إصدار واحد إلى آخر. كجزء من استراتيجية CI:

  • يجب إعادة بناء قاعدة البيانات الموجودة على خادم CI من نقطة الصفر باستخدام هذه البرامج النصية. يمكنك بعد ذلك التحقق من أن البرامج النصية الخاصة بك في حالة عمل.
  • في عالم مثالي ، يجب أن أكون قادرًا على إجراء ترقية من الإصدار N-1 إلى الإصدار N من قاعدة البيانات ، ومقارنة المخطط الذي تم الحصول عليه بمخطط قاعدة البيانات السابقة. ما زلت أعمل على ذلك ...
  • يجب حقن بيانات الاختبار في قاعدة البيانات ، مما يسمح بإجراء اختبار الوحدة لتطبيقك (يمكنك ذلك استخدم BCP لهذا).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top