2009-06-17 78 views

回答

7

我傾向於編輯原始遷移,只要它是a)最後一次遷移並且b)不在源代碼管理中。這爲代碼的所有其他使用者提供了一個乾淨的遷移路徑。重要的是,您的遷移應該能夠在您遇到的最早的數據庫狀態無誤時運行。

1

如果您正在與多個開發人員合作,編輯現有遷移可能很危險。

如果你的同事已經遷移了原來的遷移,那麼當他更新時,他將不會拿起新的代碼並且會出現鬧劇。這是一個非常難以追查的問題。在成爲一名優秀的客戶方面出現錯誤,並創建一個更新的遷移。

0

如果您可以驗證其尚未由其他開發人員或某些自動構建設置運行,則只編輯現有遷移。爲了安全起見,你不應該編輯提交的遷移文件,除非錯誤太嚴重以至於遷移不會在第一時間運行(在這種情況下,爲什麼要執行它)?

此外,必須特別注意遷移從應用程序中的其他位置調用代碼,以便在運行時使用正確版本的代碼運行它們。否則,模型中的細微變化可能會使您的早期遷移變得非常糟糕。

0

即使在閱讀本文和下面的答案之後,我剛剛學會了艱難的道路。不要編輯原文。你最終失去了跟蹤你的開發過程,並且很難重新控制。