我做出了改變,加入了獨特的約束模型時,ABC應用程序中,做了django/south:冗餘add_column?
./manage.py schemamigration abc --auto
創建一個遷移文件,但和預期變化的新的遷移文件還包含了一些add_column
正在添加以前添加的列的語句(並且已被納入migrate
的主題)
我真的很困惑,爲什麼會發生這種情況以及如何處理它。
如果我做另一個migrate
,add_column
語句會被忽略嗎?
我做出了改變,加入了獨特的約束模型時,ABC應用程序中,做了django/south:冗餘add_column?
./manage.py schemamigration abc --auto
創建一個遷移文件,但和預期變化的新的遷移文件還包含了一些add_column
正在添加以前添加的列的語句(並且已被納入migrate
的主題)
我真的很困惑,爲什麼會發生這種情況以及如何處理它。
如果我做另一個migrate
,add_column
語句會被忽略嗎?
好吧,感謝#django-south irc頻道我弄明白了這一點。
當活動發生在不同的源代碼控制分支中時,可能會出現這種類型的問題,並且由於合併的結果,出現在南遷移文件底部的凍結模型字典缺少一些內容這已經發生。這樣做的結果是下一個模式遷移試圖產生「缺失」的變化。
解決的辦法是在遷移之前手動編輯由schemamigration創建的遷移文件。這會讓事情重新變成同步。
本節稍後部分有關於問題的一些信息:http://south.readthedocs.org/en/latest/tutorial/part5.html#team-workflow。
感謝carljm和maney#django-south幫助我解決這個問題。