EF Migrations - قاعدة بيانات موجودة ولكن تريد النشر من البداية

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

  •  11-12-2019
  •  | 
  •  

سؤال

لدي قاعدة بيانات مطورة موجودة مع المخطط والبيانات.لقد قمت بإنشاء الفئات باستخدام الأداة المساعدة Microsoft (فئات CodeFirst).ثم قمت بتمكين عمليات الترحيل.

الآن أنا في حيرة بشأن سلوك -IgnoreChanges.إذا لم يكن للترحيل الأولي أي منطق Up() ولا Down()، فماذا سيحدث عندما أقوم بالنشر إلى قاعدة بيانات prod؟

هل تتجاهل EF ببساطة جميع عمليات الترحيل وتبني من الصفر مباشرة من النموذج؟

إذا لم أضع -IgnoreChanges، فكل منطق Up() و Down() موجود.ولكن عند تحديث قاعدة البيانات، فإنه يطرح استثناءً حول جدول موجود بالفعل بنفس الاسم.

أنا أستخدم EF 5 RC.

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

المحلول

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

الخيار المباشر لحالتك هو إنشاء كيانات من قاعدة البيانات الموجودة ومواصلة العمل على قاعدة بيانات أخرى تم إنشاؤها عن طريق الترحيل من تلك الكيانات لأنك تحتاج إلى إنشاء جدول لجميع تلك الكيانات في Up طريقة (و Down الطريقة على التوالي).

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