如何删除HSTORE密钥?

时间:2014-09-29 08:41:05

标签: ruby-on-rails postgresql activerecord ruby-on-rails-4 migration

我有以下迁移:

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'])

这样安全吗?或者我应该考虑一种更明智的方法吗?

1 个答案:

答案 0 :(得分:0)

我认为你的方法很好。我做了一些略微相似的事情:

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