web-dev-qa-db-fra.com

Rails et le type jsonb "jsonb" n'existe pas

psql --version
psql (PostgreSQL) 9.4.1

Rails -v
Rails 4.2.0

J'ai ajouté une colonne jsonb via la migration comme ça

class AddPreferencesToUsers < ActiveRecord::Migration
  def change
    add_column :users, :preferences, :jsonb, null: false, default: '{}'
    add_index :users, :preferences, using: :gin
  end
end

Je reçois cette erreur:

PG::UndefinedObject: ERROR:  type "jsonb" does not exist
LINE 1: SELECT 'jsonb'::regtype::oid

de l'aide ?

34
medBouzid

Après avoir regardé autour de moi, j'ai découvert que ma version postgresql n'est pas 9.4 en exécutant la bonne commande

postgres=# SHOW SERVER_VERSION;
server_version 
----------------
9.1

J'ai donc dû simplement mettre à jour mon postgresql en 9.4.

Au fait, j'ai suivi cet article pour faire la mise à niveau que j'ai trouvée très pratique.

À présent :

postgres=# SHOW SERVER_VERSION;
 server_version 
----------------
 9.4.1

J'espère que cela aidera quelqu'un dans la même situation.

66
medBouzid