6

मैं अपने ऐप में सफलतापूर्वक ईएफ 5 कोड का उपयोग कर रहा हूं। मेरे पास लगभग 40 टेबल हैं। हालांकि, मैंने एक समस्या में भाग लिया है कि मुझे माइग्रेशन सही ढंग से संभालने के लिए प्रतीत होता है। तो, मैं क्या करना चाहता हूं किसी भी तरह से डेटाबेस की वर्तमान स्कीमा को एक नए शुरुआती बिंदु के रूप में इलाज करने के लिए ईएफ को बताएं, और इस बिंदु से इसे प्रबंधित करना शुरू करें। इस तरह, मैं आवश्यक स्कीमा परिवर्तन मैन्युअल रूप से कर सकता हूं, और फिर इस बिंदु से अनिवार्य रूप से शुरू करने के लिए ईएफ को बताएं।इकाई फ्रेमवर्क 5 कोड पहले - कैसे "शुरू करें"?

क्या ऐसा कोई तरीका है जिससे मैं ऐसा कर सकता हूं? मुझे लगता है कि मुझे __ माइग्रेशन इतिहास तालिका को हटाना होगा, या इसकी सामग्री को हटा देना होगा। लेकिन मुझे यकीन नहीं है कि ऐसा करने के साथ कैसे आगे बढ़ना है।

उत्तर

8

आप निम्न कार्य करने में सक्षम होना चाहिए:

  • अपने मैन्युअल रूप से डेटाबेस बदलें मॉडल में परिवर्तन है कि अभ्यस्त एक प्रवास के द्वारा नियंत्रित किया प्रतिबिंबित करने के लिए। सबकुछ अब काम करना चाहिए, लेकिन डेटाबेस और माइग्रेशन सिस्टम सिंक से बाहर हैं।

  • रन Add-Migration ManuallyUpdatedDatabase -IgnoreChanges। यह एक माइग्रेशन बनाता है जो पूरी तरह खाली है, इसलिए यह डेटाबेस में कोई भी परिवर्तन नहीं करेगा, लेकिन यह सुनिश्चित करेगा कि सिस्टम मैन्युअल परिवर्तनों के बारे में जानता है। इस तरह मैन्युअल परिवर्तन आपके द्वारा बनाए गए अगले माइग्रेशन में शामिल नहीं होंगे।

  • खाली माइग्रेशन लागू करने के लिए Update-Database चलाएं।

यहां से सब कुछ सामान्य रूप से काम करना चाहिए। आपके माइग्रेशन में आपके पास "लापता लिंक" है क्योंकि आपने मैन्युअल रूप से कुछ बदलाव किए हैं।

संबंधित मुद्दे