2011-05-30 114 views
17

我想知道什麼是最好的方式來使用南與多個開發人員。應將南遷移文件添加到源代碼管理?

應該跟蹤遷移文件嗎? 當兩個開發人員從同一個來源創建對models.py的不同更改時,會出現問題。

如果遷移的文件被跟蹤:

  1. 這是很難注意到需要合併,因爲它們與不同的文件名構成。
  2. 無論如何都很難合併。
  3. 很難申請(需要遷移向後一層遷移,合併,再向前遷移)

如果不追蹤:

  1. 扭捏遷移不能共享。
  2. 開發人員需要創建遷移(並應用它),只要他將模型文件更改(而不是僅應用它)。

我錯過了更多優點/缺點嗎?最好的方式是什麼?我目前正在使用跟蹤遷移,但想改變爲未跟蹤,似乎更簡單。

謝謝。

+0

不應該由開發人員提交不會破壞模型的遷移嗎?如在確保你更新到最新的第一? – 2011-05-30 07:01:59

+0

是的,在提交之前,你應該拉和*合併*,並確保它沒有破壞,然後再推送您的更改。當兩個開發人員並行工作並與models.py的不同更改發生衝突時,這種合併恰恰是我試圖避免的問題部分 - 代碼合併很容易,遷移合併很難。 – Iftah 2011-05-30 07:47:03

回答

20

他們肯定應該添加到源代碼管理。您需要手動(口頭?)協調更改模型以避免衝突。如果您的源代碼管理中沒有包含遷移,則其他開發人員將無法遷移其數據庫(這實際上會影響遷移)。

+2

只要你允許--auto創建遷移(即不調整),那麼其他開發人員可以在本地創建所需的遷移。在合併models.py文件之後,兩個開發人員將擁有相同的數據庫模式,只是不同的集合和不同的遷移順序。只要使用 - 自動遷移,我沒有看到問題。 – Iftah 2011-05-30 07:39:36

+11

我應該更深入地瞭解RTFM,本教程將在第5章中討論協作[http://south.aeracode.org/docs/tutorial/part5.html#team-workflow]。爲了防禦,文檔中存在一個錯誤,當閱讀第4章「下一章」時跳過了第5章。 本教程明確建議跟蹤遷移文件,因此我接受此答案但建議未來的讀者檢查本教程對此所說的內容。 – Iftah 2011-05-30 09:27:31

相關問題