Ruby on rails 通过迁移或psql设置默认的hstore列键值对

Ruby on rails 通过迁移或psql设置默认的hstore列键值对,ruby-on-rails,postgresql,migration,psql,hstore,Ruby On Rails,Postgresql,Migration,Psql,Hstore,我的users表中有一个hstore列,似乎无法通过迁移或psql设置默认键值对 我提到过这个问题,但没有成功 至于本文提到的迁移解决方案 但未能通过nil问题 如何创建将键、值对默认值添加到表中的hstore列的迁移?例如值1='1',值2='2' 另外,我怎样才能通过psql做到这一点呢?显然很少有人遇到过这个问题,我经过大量的尝试和错误,找到了psql的解决方案,而且非常简单 UPDATE users SET settings = '"value1"=>"1", "value2"=&

我的
users
表中有一个
hstore
列,似乎无法通过迁移或psql设置默认键值对

我提到过这个问题,但没有成功

至于本文提到的迁移解决方案

但未能通过
nil
问题

如何创建将键、值对默认值添加到表中的
hstore
列的迁移?例如<代码>值1='1',值2='2'


另外,我怎样才能通过
psql
做到这一点呢?

显然很少有人遇到过这个问题,我经过大量的尝试和错误,找到了
psql
的解决方案,而且非常简单

UPDATE users SET settings = '"value1"=>"1", "value2"=>"2"';

但是仍然对迁移解决方案感兴趣。

rails4
中,您只需将ruby哈希设置为hstore的默认值

class AddStatisticsToOffers < ActiveRecord::Migration
  def change
    add_column :offers, :statistics, :hstore, default: {total_visitors: 0}, null: false
  end
end

class Offer < ActiveRecord::Base
  hstore_accessor :statistics,
              total_visitors:     :integer
end

class OffersController < ApplicationController
  def show
    respond_to do |format|
      format.html { @offer.total_visitors += 1; @offer.save }
    end
  end
end
class AddStatisticsToOffers
这不会添加设置列
。它只更新所有行中现有列的值
settings
。您的答案似乎与您的问题不匹配。您是否尝试过使用
execute