2017-04-06 4 views
8

दरअसल, मैं क्या करता हूं:Django पर माइग्रेशन पूर्ववत करने और शोमिग्रेशन की सूची से इसे अनचेक करने का एक तरीका है?

  • माइग्रेशन फ़ाइल हटाएं।
  • डेटाबेस पर django_migrations की तालिका से पंक्ति हटाएं।
  • माइग्रेशन द्वारा लागू किए गए परिवर्तनों को हटाएं जिन्हें मैं हटाना या अनुपयुक्त करना चाहता हूं।

मैं जानना चाहता हूं कि ऐसा करने का कोई और तरीका है या नहीं।

उत्तर

19

आप पिछले माइग्रेशन में माइग्रेट करके वापस लौट सकते हैं। अपने ऐप के माइग्रेशन फ़ोल्डर देखें और फिर सभी माइग्रेशन

उदाहरण के लिए कहें, यदि आपके माइग्रेशन नीचे दिए गए क्रमवार संख्या के अनुसार कुछ हैं और नवीनतम माइग्रेशन 0012_latest_ माइग्रेशन वर्तमान में लागू है।

0010_previous_migration 
0011_next_migration 
0012_latest_migration 

और आप 0010_previous_migration

./manage.py migrate my_app 0010_previous_migration 

वापस जाने के लिए और फिर तुम यहाँ दोनों 0011_next_migration और 0012_latest_migration हटाना की तरह के रूप में आप पहले से ही लागू किया 0010_previous_migration उसके बाद सभी माइग्रेशन नष्ट कर सकते हैं चाहता हूँ।

आप Django 1.8+ का उपयोग कर रहे हैं, तो आप सभी माइग्रेशन के नाम

./manage.py showmigrations my_app 

से कोई ऐप के लिए सभी माइग्रेशन उलटने के लिए, दिखाने के प्रारंभिक या शुरू करने के लिए कर सकते हैं चला सकते हैं:

./manage.py migrate my_app zero 
+0

यह वही है जो मैं ढूंढ रहा हूं, यह वास्तव में काम करता है, धन्यवाद। –

+0

@ सीज़रविल्लसेनर, यह जानकर खुशी हुई कि इससे आपकी मदद मिली। –

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