我正在尋找方法來編寫可以在數據庫中多次執行而不失敗的rails中的遷移。如何在rails中編寫條件遷移?
比如讓說我有這樣的遷移:
class AddUrlToProfile < ActiveRecord::Migration
def self.up
add_column :profile, :url, :string
end
def self.down
remove_column :profile, :url
end
end
如果url
列在Profile
表已經存在(如果schema.rb已經例如意外修改),我的遷移將失敗說這是重複的!
那麼如何執行此遷移只有當它有?
感謝
很好的解決方案!謝謝! – 2011-02-12 22:20:28
供參考:在遷移過程中顯式引用模型通常是一個壞主意 - 如果將來刪除該模型將會怎樣?還是改變?相反,通過添加class Profile
2015-04-29 20:53:03