如何删除HSTORE键?

7

我有以下的迁移:

class CreateFoos < ActiveRecord::Migration
  def change
    create_table :foos do |t|
      t.hstore :foos_properties
    end
  end
end

在hstore列中,我有两个键::foo:bar。是否可以创建另一个迁移以删除:foo?应该是什么样子?
我找到了这个:
Foo.update_all([%(foos_properties = delete("foos_properties",?)), 'foo'])

那安全吗?还是我需要考虑更明智的方法?

你可以随意更改键名,无需进行迁移。 - Roman Kiselenko
1个回答

0

我认为你的方法很好。我做的有点类似:

ObjectModel.find_each do |object_model|
  object_model.foos_properties.delete("foo")
end

我认为你需要添加 object_model.save 来在数据库层面进行更新。 - Junan Chakma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接