我有兩列(Column_A和Column_B)如何在現有記錄(歷史數據)上進行軌道遷移?
我的模式有以下方法中,兩個基於column_A
Class Model_A < ActiveRecord::Base
before_save :set_column_B
def set_column_B
self.column_B = get_value_from_column_A
end
def get_value_from_column_A
# manipulate data from A to get value
column_A.join(,)
end
end
我知道我必須column_B價值模型(Model_A)創建一個新的column_B作爲遷移的第一步,但是如何更改數據庫中所有預先存在的記錄以在column_B中具有正確的值? 我應該寫一個腳本或Rake任務到這個或有辦法,我可以通過遷移嗎?
你可能想將其更改爲'ModelA.all.find_each {更新所有記錄| X | x.save! }' –
哦,是的,那會更有效率。 – Ucpuzz