2017-01-16 31 views
0

我有幾個包含更改方法的舊遷移文件。當執行rake db:migrate VERSION=0時,他們給出了一個ActiveRecord::IrreversibleMigration,我可以將遷移改爲擁有和增加和減少方法,這可以解決我本地機器上的錯誤,但這是一個好主意還是會導致問題?例如,當部署到生產?RAILS:編輯舊遷移文件以解決ActiveRecord :: IrreversibleMigration

解決此問題的正確方法是什麼?

謝謝。

+1

至少改變舊的遷移可能會導致與遠程隊友一起開發項目時出現問題。 – VAD

回答

0

憑經驗是:改變舊的遷移是確定的,當:

  1. 它從來沒有被運行的其他任何地方(例如,你是唯一的開發人員和IT尚未部署)
  2. 它已經在生產中運行

我個人喜歡有所有遷移從我的本地機器上的任何一點工作,以便出問題的時候我就可以執行:

rake db:drop && rake db:create && rake db:migrate 

我看到的唯一問題是,當您更改遷移將顯着更改架構時。那麼你最終會在生產和開發中採用不同的模式。這可能會導致調試和錯誤修復問題。

相關問題