مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

akoo4646

عضویت از 1397/12/08

مشکل در migration کردن دیتابیس

  • چهارشنبه 21 فروردین 1398
  • 15:15
تشکر میکنم

باسلام خدمت بزرگواران .من یک سایت میخوام طراحی کنم که از شیوه CodeFirst برای طراحی دیتابیس استفاده نمودم همچنین برای احرازهویت از سیستم identity2 استفاده کرده ام وجداولم را باهم ارتباط داده ام . دیتابیس بدون هیچ مشکلی  migration  میشود و اگر نیاز به تغییرنیز داشته باشد براحتی میتوان روی دیتابیس  migration  زد ولی وقتی از برنامه اجرا میگیرم پیغام زیر نمایش داده میشود:

Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.

 این مشکل را میتوان با حذف جدول dbo_MigrationHistory در دیتابیس حل کرد ولی اگر دوباره نیاز به تغییر در دیتابیس وجود داشته باشد دیگر نمیتوان روی دیتابیس  migration  زد وباید کل دیتابیس رو دوباره حذف کرد واز اول  migration  زد دریک پروژه دیگر هم همین مشکل رو داشتم که باحذف آن جدول ازدیتابیس مشکلم حل شد ولی خب اگرآن جدول را حذف کنم دیگرنمیتوانم درصورت نیازدیتابیسم رو تغییربدم ممنون میشم راهنماییم کنیدبزرگواران.....

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • پنجشنبه 22 فروردین 1398
  • 10:02

با سلام

مشکل به وجود اومده به این دلیله که schema مربوط به دیتا بیس شما با migration ها تداخل داره

حذف کردن جدول dbo_MigrationHistory کار درستی نیست چراکه تغییرات دیتابیس ( تاریخچه migratin ) شما رو درون خودش نگه میداره و این کار کاملا اشتباهه

کد زیر رو به Global.asax اضافه کنین :

 Database.SetInitializer<DBContextName>(null);

به جای DBContextName ، نام Context خودتون رو بذارین

دیتا بیس و تمام migration های خودتون رو از پروژه پاک کنین و یه migration جدید بزنین تا database و جدول dbo_MigrationHistory دوباره از اول ساخته بشن

این کار رو تست کنین

اگر نتیجه نگرفتین دوباره مشکل رو با جزییات بیشتر مطرح کنین

موفق باشین :)

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)