我正在嘗試編寫一個非常簡單的Rails遷移工具,該工具會向表中添加一個新列,並使用其他列中的數據組合填充該列。但是,該列會被添加,但每個記錄的列值都是零。我究竟做錯了什麼?Rails遷移列已添加但尚未填充
class AddNameToPermissions < ActiveRecord::Migration
def change
add_column :auth_permissions, :name, :string
Auth::Permission.reset_column_information
Auth::Permission.all.each do |permission|
target_name = permission.target_symbol || permission.target_class
permission.name = permission.action << ", " << target_name
permission.save
end
end
end
這是一個EXC好的答案,比我的好。 – Sean
謝謝肖恩,我很感激。 –
將其更改爲update_column也不起作用。我不得不寫一個自定義SQL查詢來做到這一點。仍然不確定爲什麼它沒有通過。 – radhika