मेरे पास मौजूदा तालिका होने पर Django की माइग्रेशन सुविधा के बारे में कोई प्रश्न है।मौजूदा तालिका को अनदेखा करते समय ./manage.py माइग्रेट
ContentData
ContentType
Faq
UserLog
TB_TEAM_INF
जब मैं ऐसा करने के लिए "./manage.py विस्थापित" तो यह models.py से ऊपर 5 टेबल बना सकते प्रयास करते हैं, मैं एक त्रुटि संदेश मिला एक मौजूदा टेबल न होने के कारण, TB_TEAM_INF।
चूंकि TB_TEAM_INF किसी अन्य टीम द्वारा उपयोग की जाने वाली एक तालिका है, इसलिए मैं तालिका को हटा नहीं सकता। मैं परियोजना के बाधाओं के कारण या तो अलग डेटाबेस का उपयोग नहीं कर सकता। इस मामले में मैं 0001_initial.py जैसे माइग्रेशन फ़ाइल खोलता हूं और माइग्रेशन के दौरान अस्थायी रूप से मॉडल ऑब्जेक्ट, TB_TEAM_INF मैन्युअल रूप से हटा देता हूं।
माइग्रेशन फ़ाइल को मैन्युअल रूप से संपादित करने के बजाय मौजूदा तालिकाओं को अनदेखा करने का कोई बेहतर तरीका है "./manage.py माइग्रेट"?
मैंने कोशिश की - excone = TB_TEAM_INF या --ignore = TB_TEAM_INF विकल्प ./manage.py माइग्रेट के साथ विकल्प, लेकिन ऐसा लगता है कि वे विकल्प स्वीकार नहीं किए जाते हैं। मैं Django 1.7.2 का उपयोग कर रहा हूँ। दस्तावेज़ से
class TB_TEAM_INF(models.Model):
...
class Meta:
managed = False
अंश:
यह शानदार है! आपकी तरह की सलाह, catavaran के लिए बहुत बहुत धन्यवाद। – ronnefeldt
हां यह काम करता है। फ़ील्ड को अपडेट करने के लिए मुझे 'makemigrations जोड़ना होगा; माइग्रेट --run-syncdb'। – FaithReaper