मैं अपने डीबी में एक टेबल साफ़ करना चाहता था, इसलिए मैंने टेबल गिरा दिया। आम तौर पर मैं इसे फिर से बनाने के लिए manage.py syncdb
करता हूं। हालांकि, उत्तर here कहता है कि syncdb
का उपयोग न करें। तो, मैं इसके बजाय क्या करूँ?django-south के साथ गिराए गए तालिका को पुनर्स्थापित कैसे करें?
उत्तर
हम्म this exchange मेरी बहुत सवाल को शामिल किया गया:
आप हाथ से डेटाबेस को संशोधित करते हैं, तो दक्षिण नोटिस नहीं होगा - कौन-सा संस्करण डेटाबेस है south_migrationhistory तालिका है का ट्रैक रखने की अपनी एक ही तरीका है, इसलिए यदि आप इसके पीछे पीछे फिसलते हैं, तो यह इसे ठीक करने की आपकी ज़िम्मेदारी है।
क्या मैं मॉडल है कि मैं प्रश्न में गिरा दिया, एक schemamigration
कर बाहर टिपण्णी कर रहा था कर समाप्त हो गया, एक मैं गिरा दिया (ताकि दक्षिण ड्रॉप करने के लिए कुछ नहीं है), migrate
आईएनजी के एक खाली नहीं-स्तंभ तालिका बनाने, फिर मॉडल को अन-टिप्पणी, schemamigration
और migrate
आईएनजी फिर से टिप्पणी करें। बस तालिका छोड़ने और syncdb
लेकिन आह ठीक से थोड़ा अधिक परेशान।
समान समस्या थी। बाहर INSTALLED_APPS से INSTALLED_APPS में
- टिप्पणी "दक्षिण"
- रन manage.py syncdb
- टिप्पणी हटाएं "दक्षिण": सुनिश्चित नहीं हैं कि यह सब परिस्थितियों में काम करता है, लेकिन यहाँ मैं क्या किया है। पीई माइग्रेट
वोला!
आपका लाभ भिन्न हो सकते हैं ....
इसे करने के दौरान आपको माइग्रेशन फ़ोल्डर का नाम बदलने की आवश्यकता होगी, मैं बस अंडरस्कोर के साथ उपसर्ग करता हूं। इसे ऊपर चरण 1 और 2 के बीच करें, फिर 'माइग्रेट ऐपनाम शून्य' के लिए चरण 4 –
यह एक सुंदर देर से प्रतिक्रिया है, लेकिन जो लोग एक ही मुद्दे में चलेगा (जैसे मैंने किया था) के लिए।
आम तौर पर है कि दक्षिण द्वारा किया जाता है अनुप्रयोग के लिए db_tables ड्रॉप करने का उपयोग करना चाहिए:
python manage.py migrate appname zero
लेकिन अगर आप उन्हें DB में मैन्युअल रूप से गिरा दक्षिण बताएं बारे में यह
python manage.py migrate appname zero --fake
और निश्चित रूप से टेबल
python manage.py migrate appname
+1 से पहले' माइग्रेशन 'पर वापस नाम बदलें! –
यह केवल तभी काम करता है जब आपने _every_ तालिका –
+1 को छोड़ दिया है, तो मुझे मेरे dev सर्वर पर मदद मिली। धन्यवाद! – tatlar
सुनिश्चित करें कि आपके सभी माइग्रेशन लागू हैं: python manage.py migrate
बताएँ Django तालिकाएं बनाने के लिए के रूप में वे अपने मॉडल में हैं: python manage.py syncdb
बताएँ दक्षिण है कि सब कुछ है, जहां यह होना चाहिए: python manage.py migrate appname --fake
मतलब यह है कि कुछ भी नहीं की किसी में बदल गया है अपने मॉडल चूंकि आपने अपना अंतिम माइग्रेशन बनाया है।
मुझे पता है कि यह समस्या पुरानी है, लेकिन मैं बस इस मुद्दे में भाग गया और सोचा कि अगर मैं किसी की मदद करता हूं तो मैं अपना समाधान पोस्ट करूंगा।
- अपने
models.py
फ़ोल्डर में डेटाबेस जहां जाएं। models.py
फ़ाइल से पूरी कक्षा को काट दें।- रन ./manage.py schemamigration
appname
--auto (यह एक और माइग्रेशन बनाएगा जहांSouth
इस तालिका को हटाने के लिए पहचाना जाएगा)। आपको अपने डेटाबेस में रिक्त तालिका को फिर से बनाने की आवश्यकता हो सकती है, इसलिएSouth
इसे देखता है। migration
चलाएं और तालिका को आपके डेटाबेस से छोड़ना चाहिए।- अपनी टेबल क्लास में फिर से पेस्ट करें जहां यह आपके
models.py
फ़ाइल में था। - एक ./manage.py schemamigration चलाएं
appname
--auto। दक्षिण को टेबल लेना चाहिए और - चलाएं ./manage.py माइग्रेट
appname
और दक्षिण को तालिका को वापस अपने डेटाबेस में दोबारा जोड़ना चाहिए ... कॉलम और फिर से, लेकिन डेटा के बिना, स्पष्ट रूप से । :)
हां अच्छा, यह वही है जो मेरा जवाब कहता है लेकिन एक चरण-दर-चरण लेआउट में। – Claudiu
ओह अच्छा! क्षमा करें, मैंने आपको जवाब नहीं देखा। खुशी है कि हम दोनों कम से कम एक ही संकल्प में आए थे। :) – jaredgilmore
- 1. jQuery UI - गिराए गए ड्रैगगेबल
- 2. ओपनसीवी "कैमरा गिराए गए फ्रेम" को चुप कैसे करें
- 3. हटाए गए वाई-अक्ष को पुनर्स्थापित करें
- 4. गिराए गए कनेक्शन पर टोरनाडो मेमोरी रिसाव
- 5. भंडार से हटाए गए फ़ाइल को पुनर्स्थापित करें
- 6. सहेजे गए राज्य से दृश्य पदानुक्रम को पुनर्स्थापित करना प्रोग्रामेटिक रूप से जोड़े गए दृश्यों को पुनर्स्थापित नहीं करता है
- 7. टीएफएस: हटाए गए फ़ोल्डर और आइटम को पुनर्स्थापित करें
- 8. प्रक्रिया के बाद राज्य को पुनर्स्थापित करें
- 9. jQuery ड्रैगगेबल + ड्रॉपपेबल: गिराए गए तत्व को ड्रॉप-ऑन तत्व पर कैसे स्नैप करें
- 10. आरपीएम पैकेज को पुनर्स्थापित कैसे करें?
- 11. एंड्रॉइड खंड दृश्य को पुनर्स्थापित कैसे करें
- 12. हाइबरनेशन (एस 4) (या गिराए गए कनेक्शन) के बाद एमएस एसक्यूएल के साथ फिर से कनेक्ट कैसे करें?
- 13. PHP सत्र को पुनर्स्थापित कैसे करें?
- 14. ग्रहण स्वागत पृष्ठ को कैसे पुनर्स्थापित करें?
- 15. दूषित गिट भंडार को पुनर्स्थापित कैसे करें?
- 16. smo डेटाबेस को पुनर्स्थापित करें
- 17. इकाई फ्रेमवर्क मॉडल डब्ल्यू/ओ इकाई से हटाए गए हटाए गए फ़ील्ड को पुनर्स्थापित करें
- 18. वीम बैकअप को पुनर्स्थापित करें
- 19. Mercurial: फ़ाइलों को पुनर्स्थापित करें
- 20. बैकअप एक्सेस को पुनर्स्थापित करें
- 21. एंड्रॉइड वेबव्यू की स्थिति को पुनर्स्थापित/पुनर्स्थापित करें
- 22. jQuery - क्रमबद्ध सूची में गिराए गए तत्व में छेड़छाड़
- 23. मैनेशिया से/केवल एक ही तालिका को बैकअप/पुनर्स्थापित कैसे करें?
- 24. jQuery ड्रैगगेबल + ड्रॉपपेबल - भौतिक रूप से ड्रैग किए गए आइटम को गिराए गए कंटेनर में
- 25. ड्रॉप ईवेंट पर गिराए गए आइटम की आईडी कैसे प्राप्त करें jquery
- 26. एक .sql postgresql बैकअप से एकल तालिका को पुनर्स्थापित कैसे करें?
- 27. रूबी नेटबीन्स 7 में गिराए गए, नेटबीन्स 7 में इसका उपयोग कैसे करें?
- 28. एंड्रॉइड ऐप के डिफ़ॉल्ट लोकेल को पुनर्स्थापित कैसे करें
- 29. डेटाबेस में वापस एक MySQL तालिका को पुनर्स्थापित करना
- 30. डाटाबेस को पुनर्स्थापित करें और एमडीएफ फ़ाइल
क्या mysql में नो-कॉलम तालिका बनाना संभव है? –