我的hstore
表中有一个users
列,似乎无法通过migration或psql设置默认键值对。
我已提到这个问题Adding a key to an empty hstore column,但没有成功。
就本文所述的迁移解决方案http://www.economyofeffort.com/2014/12/16/postgres-hstore-default-value-in-rails-4/
而言但无法解决nil
问题。
如何创建将键值对默认值添加到表中hstore
列的迁移?例子...... value1 = '1', value2 = '2'
?
另外,我如何通过psql
?
答案 0 :(得分:1)
在Rails 4
中,您只需使用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
答案 1 :(得分:0)
显然很少有人遇到过这个问题,经过大量的反复试验后,我发现了psql
解决方案并且非常简单。
UPDATE users SET settings = '"value1"=>"1", "value2"=>"2"';
但仍然对迁移解决方案感兴趣。