1。我希望查询更新我的列属性名称而不更改属性值。
这就是我所拥有的... 我的表名称是CheckIn,而列则是名称渴望:
my attributes:
`"Magic box"=>nil, "Play Store, fruits"=>nil, "Chocos"=>nil, "Sauces"=>nil, "Sugar"=>nil`
我要重命名我的名字:
"Magic box"=>'Boundry wall',
"Play Store, fruits"=>'B Area',
"chocos"=>'raffle',
"Sauces"=>'ketchup',
"Sugar"=>'wheat'
只想更改/更新我的属性名称。
答案 0 :(得分:0)
尝试一下:
CheckIn.where.not(cravings: nil).each do |r|
r.cravings['dairy'] = r.cravings.delete('Dairy products')
.
.
.
r.save!
end
请考虑使用事务在失败时回滚更新。
还要注意,这可能需要很长时间,具体取决于大小或您的桌子。选中each_record以提高性能。