टीमों और माइग्रेशन के साथ इस मुद्दे तब होता है जब एक से अधिक व्यक्ति एक ही समयावधि में एक प्रवास बनाता है, और वे दोनों बिना अन्य लागू किया गया है प्रतिबद्ध मिल । यह दो लोगों के समान है एक ही समय में एक ही फ़ाइल को एक वीसीएस में संपादित करना, और वीसीएस की तरह, दक्षिण में समस्या का समाधान करने के तरीके हैं।
Inconsistent migration history
The following options are available:
--merge: will just attempt the migration ignoring any potential dependency
conflicts.
आप फिर से रन --merge
साथ माइग्रेट करते हैं, दक्षिण बस लागू होंगे:
ऐसा होता है, नोट करने के लिए पहली बात यह है कि दक्षिण समस्या का पता लगाने जाएगा, और इस प्रकार का संदेश जारी है माइग्रेशन जो आउट ऑफ़ ऑर्डर में अनुपलब्ध थे। यह आमतौर पर काम करता है, क्योंकि टीम अलग-अलग मॉडल पर काम कर रही हैं; यदि ऐसा नहीं होता है, तो आपको वास्तविक माइग्रेशन परिवर्तनों को देखने और उन्हें मैन्युअल रूप से हल करने की आवश्यकता होगी, की संभावना है कि वे संघर्ष करेंगे।
नोट करने के लिए दूसरी बात यह है कि, जब आप किसी और के मॉडल परिवर्तन अपने स्वयं के प्रवास के साथ पूरा में खींच, आप एक नई खाली प्रवास विकास की दोनों शाखाओं में जमे हुए परिवर्तन है कि बनाने की आवश्यकता होगी है (यदि आपने Mercurial का उपयोग किया है, तो यह एक विलय प्रतिबद्धता के बराबर है)। ऐसा करने के लिए, बस चलाने:
./manage.py schemamigration --empty appname merge_models
(ध्यान दें कि merge_models
सिर्फ एक प्रवास नाम है; के लिए इसे बदलने के लिए जो भी आप की तरह)
महत्वपूर्ण संदेश है कि यहाँ दक्षिण टीम समन्वय का कोई विकल्प नहीं है वास्तव में, अधिकांश विशेषताएं को चेतावनी देने के लिए पूरी तरह से हैं, जिन्हें आपने समन्वयित नहीं किया है, और केवल आसान मामलों के लिए प्रस्ताव पर सरल विलय है। सुनिश्चित करें कि आपकी टीम को पता है कि पर कौन काम कर रहा है, इसलिए वे उसी समय डीबी को उसी समय प्रभावित करने वाले माइग्रेशन नहीं लिखते हैं।
यह दिखाता है कि दस्तावेज़ों को पढ़ना अच्छा है;) +1 – Tadeck