اختبار وإدارة قاعدة بيانات الإصدارات ضد رمز الإصدارات

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

سؤال

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

سؤالي هو ما هي النصائح والحيل للحفاظ على قاعدة البيانات في الخطوة مع الكود ؟ ماذا عن عندما يمكنك استرجاع الرمز ؟ المتفرعة?

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

المحلول

أرقام إصدار المضمنة في قاعدة بيانات مفيدة.لديك خيارين ، تضمين القيم في الجدول (يسمح إصدارات متعددة العناصر) التي يمكن الاستعلام عنها ، أو وجود explictly اسمه كائن (مثل جدول أو somesuch) يمكنك اختبار.

عندما تقوم بتحرير الإنتاج ، هل لديك خطة العودة في حالة غير متوقعة الكارثة ؟ إذا كنت تفعل, هو تطبيق مخطط التراجع السيناريو ؟ استخدام الخاص بك سيناريو التراجع إلى التراجع قاعدة البيانات إلى البرمجية السابقة الإصدار.

نصائح أخرى

يجب أن تكون قادرا على إنشاء قاعدة البيانات الخاصة بك من الصفر إلى الدولة المعروفة.

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

لقد كنت مهتما في نوع من DB النظام الإصدارات ، ولكن لم أجد أي شيء حتى الآن.لذا بدلا من الحل, سوف أحصل على التصويت.:-P

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

تماما مثل المكتبات الخارجية, قاعدة بيانات التكوين يجب أن يكون أيضا في عنصر تحكم مصدر.

ملاحظة أنا لا أقول أن كل ما تبذلونه من قاعدة البيانات الحية المحتوى يجب أن يكون في نفس المصدر التحكم فقط بما فيه الكفاية للوصول إلى حالة نظيفة.(هل نسخة احتياطية من قاعدة بيانات المحتوى, على الرغم من!)

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

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

المشكلة تأتي عندما تحتاج إلى تغيير الجدول الذي يتم بالفعل.لا أعتقد أن syncdb يعالج ذلك.التي من شأنها أن تتطلب منك الذهاب يدويا إضافة الجدول أيضا إضافة خاصية النموذج.ربما كنت ترغب في النسخة التي تغير البيان.نماذج سيكون دائما تحت السيطرة الإصدار على الرغم من ذلك إذا كنت في حاجة إلى أنك يمكن أن تحصل على db schema وتشغيلها على مربع جديد بدون تشغيل البرامج النصية sql.مشكلة أخرى مع هذا المسار حفظ البيانات الثابتة التي تريد دائما في ديسيبل.

القضبان الهجرة النصوص هي جميلة جدا.

DB النظام الإصدارات سيكون رائعا, ولكن أنا لا أعرف حقا شيء من هذا القبيل.

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

النسخ الاحتياطي و ضغط يمكن أن تساعدك هناك.آسف - لا يوجد عذر لا تكون قادرة على الحصول على مجموعة جيدة من البيانات لتطوير ضد.حتى لو كان مجرد مجموعة فرعية.

وضع قاعدة البيانات الخاصة بك التطورات في إطار التحكم في الإصدار.أوصي إلى إلقاء نظرة على neXtep مصمم :http://www.nextep-softwares.com/wiki

بل هو الحرة GPL المنتج الذي يقدم العلامة التجارية الجديدة النهج إلى تطوير قاعدة البيانات ونشرها من خلال ربط معلومات الإصدار مع SQL الجيل المحرك التي يمكن أن تلقائيا حساب أي ترقية البرنامج النصي تحتاج إلى ترقية أي نسخة من قاعدة البيانات الخاصة بك إلى آخر.أي قاعدة البيانات الموجودة يمكن أن تكون النسخة التي تسيطر عليها عكس التزامن.

وهو يدعم حاليا Oracle, MySql و PostgreSql.DB2 دعم التنمية.هذا هو كامل المواصفات-تطوير قاعدة بيانات بيئة حيث يمكنك دائما العمل على النسخة التي تسيطر عليها عناصر من مستودع.يمكنك نشر تحديثات بسيطة تزامن خلال التنمية يمكنك توليد للتصدير قاعدة بيانات الولادات التي سوف تكون قادرة على تنفيذ أي استهدفت قاعدة البيانات من خلال مستقل المثبت الذي بالتحقق من صحة الإصدارات ، ويؤدي الهيكلية يتحقق ويطبق ترقية البرامج النصية.

IDE كما يقدم لك SQL المحررين ، إدارة التبعية ، ودعم وحدات قاعدة بيانات مكونات نموذج, نموذج البيانات والرسوم البيانية ، SQL العملاء وأكثر من ذلك بكثير.

جميع الوثائق والمفاهيم التي يمكن العثور عليها في ويكي.

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