我正在尝试编写一个非常简单的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