سؤال

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

ميزتان رئيسيتان لهذا الروتين:

  • بمجرد البدء، يتم تشغيله دون تدخل المستخدم
  • تحافظ عمليات SQL على سلامة بيانات المستخدمين

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

  • اختر بصمت ما هو "المناسب" للمستخدم وتجاهل (أو أرشفة) البيانات؛أو
  • اطلب من المستخدم أن يفهم ما هو الفهرس الفريد واطلب منه اختيار البيانات التي سيتم نقلها إلى أين

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

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

المحلول

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

نصائح أخرى

تحقق من SQL Packager من Red-Gate.لم أستخدمها شخصيًا، لكن هؤلاء الأشخاص يصنعون أدوات جيدة بشكل عام ويبدو أن هذا يفعل ما تبحث عنه.يتيح لك تعديل البرنامج النصي لتخصيص التثبيت:http://www.red-gate.com/products/SQL_Packager/index.htm

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