2015-11-05 10 views
6

लागू करने के लिए कोई माइग्रेशन नहीं है मैंने अपना डेटाबेस खराब कर दिया है इसलिए मैंने इसे फिर से करने की कोशिश की। मैंने किया था:django माइग्रेशन

1) नष्ट कर दिया एसक्यूएल

2 के माध्यम से सभी तालिकाओं) माइग्रेशन फ़ोल्डर को हटाया

तो जब मैं अब manage.py makemigrations myapp यह प्रवास फ़ोल्डर और initial.py फ़ाइल है, जो ठीक लग रहा है पैदा कर रही है कर । __init__.py भी है। हालांकि, अगर मैं manage.py makemigrations myapp करता हूं तो मुझे हमेशा "आवेदन करने के लिए कोई माइग्रेशन" संदेश नहीं मिलता है।

मैंने खोल में डेटाबेस देखा और टेबल नहीं हैं।

मैं Django 1.8 का उपयोग कर रहा हूं।

उत्तर

18

Django django_migrations तालिका में सभी लागू माइग्रेशन का ट्रैक रखता है। तो बस django_migrations तालिका ऐसे ही एप्लिकेशन को आप से संबंधित हैं की सभी पंक्तियों को हटा दें:

DELETE FROM django_migrations WHERE app='your-app-name'; 

और उसके बाद कार्य करें:

python manage.py makemigrations 
python manage.py migrate 
+0

धन्यवाद 'Django django_migrations table.' में सभी आवेदन किया माइग्रेशन का ट्रैक रखता है, लेकिन' सिर्फ django_migrations तालिका है कि आप से संबंधित हैं की सभी पंक्तियों को हटाने के अनुप्रयोग like' बहुत ही विनाशकारी है – andi

0

Django django_migrations तालिका में सभी आवेदन किया माइग्रेशन का ट्रैक रखता है।

तो, आप इस विधि का पालन कर सकते हैं:

  1. django_migrations से संबंधित पंक्तियां हटाएं।

  2. रन python manage.py माइग्रेट करें। के लिए

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