3

https://postgres.heroku.com/blog/past/2012/4/26/heroku_postgres_development_plan/に従って、「heroku addons:addheroku-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 rakedb:migrate」というエラーが発生します。

PG :: Error:ERROR:「EXTENSION」またはその近くの構文エラー1行目:CREATE EXTENSION hstore ^:CREATE EXTENSION hstore

4

2 に答える 2

3

ついにそれが機能するようになりました。https://devcenter.heroku.com/articles/heroku-postgres-dev-planに従って、heroku pg:promoteを使用してデータベースを「プロモート」する必要があることがわかりました。

于 2012-06-27T05:09:12.243 に答える
2

移行を分割して、1つはhstoreを追加し、もう1つはそれを使用したいと思います。

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

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

拡張機能を有効にすると、ユーザーの移行でフィールドが追加され、必要な列でhstoreが使用されます。

于 2012-06-26T19:34:46.733 に答える