إدارة قاعدة البيانات إدارة على البرامج التصحيح / التحديث / الترقية

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

سؤال

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

قارة:

  • أنا نشر إصدار تطبيق WPF للمستخدم. يستخدم التطبيق ملف بيانات MSSQL لتخزين بيانات التطبيق (نشر مع ملف تعريف العميل و SQLServer Compact 3.5 المتطلبات الأساسية)
  • في مزيد من التغييرات مخطط قاعدة بيانات التطوير وأضيف بعض البيانات الإضافية أيضا
  • أحاول تشغيل ترقية التصحيح / القاصر / الكبرى مع Visual Studio 2008 Publishing و MSI

أريد تحديث تطبيق المستخدم وملف قاعدة البيانات، ولكن ليس لمس البيانات التي تم تخزينها في قاعدة البيانات هذه. يبدو سهلا، لكني فشلت في العثور على الويب كيفية القيام بذلك مع نشر Visual Studio

ما قمت بجمعه حتى الآن هو 2 الخيارات:

  • قم بإنشاء البرنامج النصي لتحديث SQL لكل إصدار وحاول تحديث قاعدة البيانات على تشغيل البرنامج الأول بعد الترقيع.
  • إنشاء مشروع إعداد قاعدة البيانات ومحاولة البرنامج النصي من هناك (لا فكرة عن كيفية القيام بذلك).

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

شكرا مقدما.

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

المحلول

هذه المقالة عن "القضبان قاعدة بيانات الترحيل في .NETقد تكون مفيدة. منذ صعود القضبان كان هناك الكثير من العمل على أفضل الممارسات لشعاعات قاعدة البيانات، والتي يمكن الاستفادة منها بلغات ومنصات أخرى.

نصائح أخرى

في مشروعي الحالي، نستخدم تقنية تسمى تكامل قاعدة البيانات المستمر.

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

باستخدام هذه التقنية، يمكننا التأكد من أن جميع قواعد بيانات المطور محدثة أيضا، كما تم دمجها في نظام بناء Visual Studio.

نحن ندير هذا البرنامج النصي MSBUILD للبناء المحلي والانتشار. إنه يتحقق رقم إصدار في DateBase، ويعمل أي نصوص برقم أعلى.

أنا لست مولعا جدا ب Msbuild، لكنه يحصل على المهمة.

مارتن فاولر لديه مقال حول تصميم قاعدة البيانات التطورية التي لديها بعض الخلفية في هذا.

إذا كنت تستخدم SQL Server Management Studio لإجراء تغييرات، فيمكنك استخدام "إنشاء البرنامج النصي للتغيير" للسماح له بالبرامج النصية الخاصة بك.

إذا قمت بإضافة فئة Installer إلى DLL أو EXE، فسيتم استدعاء أسلوب تثبيت أثناء الإعداد (التحقق من MSDN لدينا للحصول على التفاصيل، VS يمكن أن تجعل إعداد إعداد مصغرة لك ومن ثم يمكنك فقط نسخ الهيكل العظمي والسمات). ثم يمكنك تشغيل أوامر SQL ضد CE والنسخ الاحتياطي ملفات CE الموجودة وحتى القيام بالتراجع إذا حدث خطأ ما (فئة المثبت له طرق لمتابعة الخطوات عبر الوطنية كاملة على مستوى الإعداد بأكمله - قطعة العقل :-)

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