كيف يمكن للاختبار الكثيف العالي الخاص بك أن يكون متوافقًا مع مخطط قاعدة البيانات؟

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

سؤال

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

حتى أن أي شخص يهتم ، فإن تطبيقنا هو تطبيق .NET يتكامل مع SQL Server ، ولكن هذا يبدو وكأنه سؤال الإصدار أكثر من سؤال النظام الأساسي. ما لم يكن هناك حل محدد للمنصة ...

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

المحلول

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

وتقسيم الإصدار إلى رقمين (مثل المخطط الرئيسي/الصغرى). عندما تقوم بتغيير المخطط بطريقة غير متوترة ، فإنك تزيد من الإصدار الرئيسي. بعد تغيير متوافق مع الوراء يمكنك فقط تحديث إصدار صغير.

يتم استخدام Major بواسطة APP للتحقق مما إذا كان متوافقًا مع المخطط الحالي ، ويتم استخدام Major+Minor للتحقق مما إذا كان يمكنك/تحتاج إلى تحديث المخطط.

أعتقد أن هذا هو الحل الذي تستخدمه معظم التطبيقات.

نصائح أخرى

هل يمكنك تبني مخطط رقم إصدار رئيسي/ثانوي؟

إن التغيير في العدد الرئيسي يعني أن العملاء يحتاجون إلى التحديث ، والتغيير في العدد الثانوي لا.

مع أي من هذه ، تتزايد أرقام الإصدار دائمًا.

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

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