我加入了一個過去兩個月一直在進行的rails項目。我看到開發人員正在修改現有遷移以更改列類型/名稱?當我運行遷移時,沒有任何反應,並且出現像隨機錯誤,找不到方法。當我解散並檢查數據庫時,發現字段名稱不同,這就是錯誤出現的原因。是否可以修改遷移
根據我對數據庫每次修改的理解,我們需要創建新的遷移。
修改現有遷移的行爲是否可以接受?
我加入了一個過去兩個月一直在進行的rails項目。我看到開發人員正在修改現有遷移以更改列類型/名稱?當我運行遷移時,沒有任何反應,並且出現像隨機錯誤,找不到方法。當我解散並檢查數據庫時,發現字段名稱不同,這就是錯誤出現的原因。是否可以修改遷移
根據我對數據庫每次修改的理解,我們需要創建新的遷移。
修改現有遷移的行爲是否可以接受?
一般來說,一旦您簽入遷移,它不應該被修改。對於我參與的一個項目,我們定期重置數據庫,因此人們會不時修改遷移,而不是創建新項目,但這不是我喜歡的做法。
因此,如果您希望默認的Rails遷移行爲正常工作,請不要更改某人可能已經使用的遷移。但是,如果您在解決默認行爲方面沒有問題,則無關緊要。注意:如果您正在運行生產遷移以使數據庫保持最新狀態,則永遠不要更改已在生產環境中運行的遷移,這一點很重要!
這是所有關於良好的風格。當然,你可以改變遷移,但這是不好的風格。根據指導方針,您應該爲每次更改都進行新的遷移。
在我看來這是不可接受的。這裏有一些原因何時以及爲什麼它可以被接受或者也不是:
所以我覺得你有困難的工作去改變別人的行爲。祝你好運!