- fake

2015-06-03 4 views
36

का उपयोग करने के बाद django 1.8 पर माइग्रेशन को दोबारा कैसे करें मेरे माइग्रेशन पर कुछ गड़बड़ हुई, मैंने एक मॉडल में एक नया डेटाटाइफील्ड जोड़ा, फिर मैंने makemigrations और माइग्रेट का उपयोग किया।- fake

python manage.py makemigrations 
python manage.py migrate 

लेकिन इसके बाद माइग्रेट को "तालिका पहले से मौजूद त्रुटि" मिली। मुझे लगता है मैं नकली सका माइग्रेशन चाहिए और फिर से प्रारंभ, तो मैं

python manage.py makemigrations --fake core 

Operations to perform: 
    Apply all migrations: core 
Running migrations: 
    Rendering model states... DONE 
    Applying core.0001_initial... FAKED 
    Applying core.0002_auto_20150525_1331... FAKED 
    Applying core.0003_auto_20150525_1348... FAKED 
    Applying core.0004_processo_data_atualizacao... FAKED 

किया, लेकिन नए विस्थापित है कि मैं अभी बनाया है भी नाटक किया गया था (बेशक!)।

ऐसा करने के बाद माइग्रेशन को फिर से शुरू करने का सही तरीका कैसे है (इस मामले में core.0004)?

+1

दक्षिण में एक विशिष्ट चरण को पार करना संभव था जिसे आप माइग्रेट करना चाहते थे। इसके बाद दिए गए कदम के बाद, आगे या पीछे की ओर माइग्रेट किया जाएगा। क्या यह सुविधा गिरा दी गई जब उन्होंने इसे Django में विलय कर दिया? – spectras

+0

@ स्पेक्ट्रस नहीं, यह बिल्कुल ठीक नहीं था –

उत्तर

71

आप पहली बार --fake साथ 0003 के लिए अपने वर्तमान राज्य स्थापित करना चाहिए (यह मानते हुए 0003 पिछले माइग्रेशन तुम सच में आवेदन किया है है):

python manage.py migrate --fake core 0003 

और फिर हमेशा की तरह आगे बढ़ना:

python manage.py migrate core 

प्रासंगिक दस्तावेज : https://docs.djangoproject.com/en/dev/ref/django-admin/#migrate

+0

क्या होगा यदि यह पहला माइग्रेशन था जिसका मैंने उपयोग किया - पर जाएं? –

+6

@EvyatarSivan आपको माइग्रेशन नंबर के बजाय 'शून्य' का उपयोग करना चाहिए, उदा। 'python manage.py माइग्रेट --फेक कोर शून्य' –

+1

'--फेक-प्रारंभिक' ध्वज https://docs.djangoproject.com/en/1.8/topics/migrations/#adding-migrations-to-apps भी देखें । –

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