दिलचस्प पोस्ट
जावा में विभिन्न प्रारूपों के साथ स्ट्रिंग को पार्स करना एंड्रॉइड स्प्लिट स्ट्रिंग आपको कब शाखाएं चाहिए? चयन तत्व का डिफ़ॉल्ट मान सेट करने के लिए एनजी-विकल्प का उपयोग कैसे करें रेंज (शुरू, अंत) क्यों शामिल नहीं है अंत? जावास्क्रिप्ट में वैरिएबल को छिपाना git difftool, सभी diff फ़ाइलों को तुरंत खोलें, धारावाहिक में नहीं जावास्क्रिप्ट में HTTP अनुरोध प्राप्त है? इकाई फ़्रेमवर्क 4 .NET में एक इकाई को कैसे अपडेट करें iOS8.1 सिम्युलेटर हमेशा जर्मन कीबोर्ड कीबोर्ड के बावजूद यूएस कीबोर्ड लेआउट का उपयोग करता है एंड्रॉइड: सूचना बार से अधिसूचना हटाएं सब कुछ एक अजगर में रूबी की तरह वस्तु है? $ _POST बनाम $ _SERVER == 'पोस्ट' डुप्लिकेट को पायथन सूची से कैसे निकालें और ऑर्डर कैसे रखें? नियंत्रण संरचनाओं में 'के लिए' और 'foreach' के लिए प्रदर्शन अंतर सी #

इकाई-फ़्रेमवर्क माइग्रेशन रीसेट करें

मैंने अपने माइग्रेशन को मिला दिया है, मैंने प्रारंभिक माइग्रेशन पर IgnoreChanges इस्तेमाल किया है, लेकिन अब मैं अपने सभी माइग्रेशन को हटाना चाहता हूं और सभी तर्कों के साथ प्रारंभिक प्रवास के साथ शुरू करना चाहता हूं।

जब मैं फ़ोल्डर में माइग्रेशन को हटा देता हूं और कोशिश करता हूँ और Add-Migration यह एक पूर्ण फ़ाइल नहीं उत्पन्न करता है (यह खाली है – क्योंकि मैंने अपने अंतिम से कोई परिवर्तन नहीं किया है, लेकिन अब हटाए गए, माइग्रेशन)।

क्या कोई अक्षम-माइग्रेशन कमांड है, इसलिए मैं Enable-Migrations पुन: चला सकते हैं?

वेब के समाधान से एकत्रित समाधान "इकाई-फ़्रेमवर्क माइग्रेशन रीसेट करें"

आपको :

  1. राज्य को हटा दें: अपने प्रोजेक्ट में माइग्रेशन फ़ोल्डर हटाएं; तथा
  2. अपने डेटाबेस में __MigrationHistory तालिका को हटाएं (सिस्टम टेबल के अंतर्गत हो सकता है); फिर
  3. पैकेज प्रबंधक कंसोल में निम्न आदेश चलाएं:

     Enable-Migrations -EnableAutomaticMigrations -Force 

    के साथ या -EnableAutomaticMigrations

  4. और अंत में, आप चला सकते हैं:

     Add-Migration Initial 

समस्या: आपने अपने माइग्रेशन को मिला दिया है और आप अपने मौजूदा तालिकाओं को हटाए बिना इसे रीसेट करना चाहते हैं।

समस्या: आप डेटाबेस में मौजूदा तालिकाओं के साथ माइग्रेशन रीसेट नहीं कर सकते क्योंकि ईएफ स्क्रैच से टेबल बनाना चाहता है।

क्या करें:

  1. Migrations_History तालिका से मौजूदा माइग्रेशन हटाएं

  2. Migrations फ़ोल्डर से मौजूदा माइग्रेशन हटाएं।

  3. ऐड-माइग्रेशन रीसेट चालू करें यह आपके माइग्रेशन फ़ोल्डर में माइग्रेशन बनाएगा जिसमें टेबल्स बनाना शामिल है (लेकिन यह इसे नहीं चलाएगा, इसलिए यह त्रुटि नहीं देगा।)

  4. अब आपको माइग्रेशनहाइटिस टेबल में प्रारंभिक पंक्ति बनाने की आवश्यकता है ताकि ईएफ के पास वर्तमान स्थिति का स्नैपशॉट हो। यदि आप माइग्रेशन लागू करते हैं तो ईएफ ऐसा करेगा। हालांकि, आप उस माइग्रेशन को लागू नहीं कर सकते हैं जो आपने पहले से ही अपने डेटाबेस में पहले से मौजूद टेबल के रूप में किया था। तो माइग्रेशन में जाएं और "अप" विधि के अंदर सभी कोड को बाहर करें।

  5. अब अद्यतन डेटाबेस चलाना यह माइग्रेशन (हालांकि वास्तव में डेटाबेस बदल नहीं रहा है) पर लागू होगा और माइग्रेशन इतिहास में एक स्नैपशॉट पंक्ति बनाएगा

आपने अब अपने माइग्रेशन को रीसेट कर दिया है और सामान्य माइग्रेशन जारी रख सकते हैं।

कैसा रहेगा

 Update-Database –TargetMigration: $InitialDatabase 

पैकेज प्रबंधक कंसोल में? इसे सभी अपडेट को अपने शुरुआती राज्य में रीसेट करना चाहिए।

संदर्भ लिंक: कोड प्रथम माइग्रेशन – किसी विशिष्ट संस्करण में माइग्रेट करना (डाउनग्रेड सहित)

इसे ठीक करने के लिए, आपको यह चाहिए:

  1. Migrations फ़ोल्डर में सभी .cs फाइलों को हटाएं

  2. डेटाबेस में _MigrationHistory तालिका को हटाएं

  3. Enable-Migrations -EnableAutomaticMigrations -Force चलाएं Enable-Migrations -EnableAutomaticMigrations -Force

  4. Add-Migration Reset

फिर, public partial class Reset : DbMigration वर्ग, आपको सभी मौजूदा और मौजूदा टेबल्स पर टिप्पणी करने की ज़रूरत है:

 public override void Up() { // CreateTable( // "dbo.<EXISTING TABLE NAME IN DATABASE> // ... // } ... } 

यदि आप इस बिट को याद करते हैं तो सभी विफल होंगे और आपको फिर से शुरू करना होगा!

  1. अब रन Update-Database -verbose चलाएं

यदि आप ऊपर सही तरीके से कर चुके हैं तो यह सफल होना चाहिए, और अब आप सामान्य रूप से जारी रख सकते हैं

मेरी समस्या निकली कि मैने माइग्रेशन फ़ोल्डर को मैन्युअल रूप से निकाल दिया। मैंने ऐसा इसलिए किया क्योंकि मैं सामग्री का बैकअप लेना चाहता था, इसलिए मैं केवल इस परियोजना से फ़ोल्डर को खींच लिया। मैंने बाद में इसे वापस (एक बैकअप प्रतिलिपि बनाने के बाद) डालकर समस्या को ठीक कर दिया, फिर माइग्रेशन फ़ोल्डर्स को सॉल्यूशंस एक्सप्लोरर पर राइट-क्लिक करके और पॉपअप मेनू से हटाना चुनकर हटा दिया।

EntityFramework 6 में कृपया प्रयास करें:

 Add-Migration Initial 

आरंभिक माइग्रेशन फ़ाइल को अपडेट करने के लिए

ईएफ 6 में

  1. 'माइग्रेशन' फ़ोल्डर में आपकी सभी फ़ाइलों को हटाएं … लेकिन 'प्रारंभिक बनाएँ' या 'कॉन्फ़िग' नहीं।
  2. डेटाबेस हटाएं
  3. अब Add-Migration Initial चलाएं।
  4. अब आप 'अपडेट-डेटाबेस' कर सकते हैं और सभी अच्छे होंगे।
 Enable-Migrations -EnableAutomaticMigrations -Force