हां, बस माइग्रेशन हटाएं और schemamigration --initial
फिर से चलाएं। आप उत्पादन में जाने से पहले कि वैसे भी रूप में सामान्य कोर्स करना चाहिए। यदि आप कम से कम एक बार उत्पादन में जा चुके हैं, तो सभी माइग्रेशन को न हटाएं - केवल वर्तमान विकास चक्र में बनाए गए हैं और फिर संभावित एकाधिक लोगों की बजाय केवल एक माइग्रेशन प्राप्त करने के लिए schemamigration --auto
चलाएं।
Fwiw, "unconvert" एक दक्षिण का उपयोग कर अनुप्रयोग, आप केवल "माइग्रेशन" निर्देशिका नष्ट करने के लिए है, लेकिन इस परिदृश्य में, कोई आवश्यकता नहीं है।
अद्यतन
यह बताया गया है कि पहले से आपका ऐप्लिकेशन माइग्रेट अगर आपके पास है, और आप सभी माइग्रेशन हटा सकते हैं और एक भी नया एक, दक्षिण डेटाबेस में अभी भी माइग्रेशन के बारे में शिकायत करेंगे उत्पन्न करते हैं। वास्तविक प्रक्रिया का पालन करना चाहिए:
वर्तमान विकास चक्र में आपके द्वारा बनाए गए नवीनतम माइग्रेशन से ठीक पहले रोलबैक। उदाहरण के लिए, यदि आप पहले ही 0005 पर थे और आपने विकास कार्य के लिए तीन नए माइग्रेशन बनाए थे (अब 0008 पर), तो आप 0005 पर रोलबैक करेंगे। यदि सभी माइग्रेशन नए हैं, तो आप zero
पर रोलबैक:
python manage.py migrate yourapp zero
माइग्रेशन आप मर्ज करने जा रहे हैं के सभी को हटा दें। उपर्युक्त उदाहरण में, यह 0006, 0007, और 0008 होगा, या एक नए ऐप के लिए, माइग्रेशन निर्देशिका में सबकुछ लेकिन __init__.py
होगा।
आपके द्वारा अभी हटाए गए लोगों को कवर करने के लिए एक नया माइग्रेशन जेनरेट करें। यदि यह एक नया ऐप है, तो --initial
का उपयोग करें, या यदि यह एक पूर्व-मौजूदा ऐप था, तो --auto
का उपयोग करें।
python manage.py schemamigration --initial yourapp
माइग्रेट
python manage.py migrate yourapp
स्रोत
2012-03-12 16:24:58
आह ठीक है, स्पष्टीकरण के लिए धन्यवाद। माइग्रेशन हटाने के लिए कोड क्या है? – hobbes3
बस भौतिक रूप से फ़ाइल को हटा दें। कोई आदेश नहीं है - केवल सामान्य तरीका जिसे आप कुछ भी हटाते हैं। –
आह ठीक है, मैं दक्षिण दस्तावेज लॉल से एक डिलीट कमांड खोजने की कोशिश कर रहा था। बहुत बहुत धन्यवाद। – hobbes3