如何在Heroku上使用hstore

时间:2012-06-26 07:56:10

标签: ruby-on-rails-3 postgresql heroku hstore

根据https://postgres.heroku.com/blog/past/2012/4/26/heroku_postgres_development_plan/,我做了“heroku addons:add heroku-postgresql:dev”。但是当我做的时候

class CreateUsers < ActiveRecord::Migration 
  def up 
    create_table :users do |t| 
      execute "CREATE EXTENSION hstore" 
      t.hstore :access 
    end 
  end 

  def down 
    drop_table :users 
      execute "DROP EXTENSION hstore" 
    end 
  end
end

然后“heroku run rake db:migrate”我收到此错误:

PG ::错误:错误:“EXTENSION”或附近的语法错误 第1行:CREATE EXTENSION hstore ^ :CREATE EXTENSION hstore

2 个答案:

答案 0 :(得分:3)

终于开始工作了。结果我需要使用heroku pg“促进”数据库:按https://devcenter.heroku.com/articles/heroku-postgres-dev-plan

进行推广

答案 1 :(得分:2)

我认为你想要拆分你的迁移,一个是添加hstore,另一个是使用它;

class SetupHStore < ActiveRecord::Migration 
  def self.up
    execute "CREATE EXTENSION hstore"
  end

  def self.down
    execute "DROP EXTENSION hstore"
  end
end

启用扩展,您的用户迁移只会添加任何字段,然后使用所需列的hstore。