2014-12-31 4 views
7

ho usato rotaie 4 e PostgreSQL 9.4 nella mia project.when mi è stato eseguito "RDD & & RDC & & RDM & & RDS" e ho ottenuto questo errore PG :: UndefinedObject : ERRORE: il tipo "jsonb" non esiste come risolvere questo errore? Dimmi.Rails 4 - PostgreSQL 9.4 jsonb non esiste

Il mio file migrate:

class CreateConsultingLocationDoctorSchedules < ActiveRecord::Migration 
    def change 
     create_table :consulting_location_doctor_schedules do |t| 
      t.belongs_to :consulting_location_doctor 
      t.datetime :schedule_date, null: false 
      t.jsonb :slot_details, index: true, default: {} 
      t.daterange :start_and_end_time, null: false 
      t.datetime :deleted_at 
      t.belongs_to :deleted_by 

      t.timestamps 
     end 
    end 
end 

Grazie per ur help!

+2

Ciò indicherebbe che la versione di Rails in realtà non è 4.2 poiché almeno il formato è giusto e le versioni necessarie sono 4.2 per Rails e 9.4 per PostgreSQL. Potresti controllare attentamente? –

+0

Ho lo stesso problema che sto usando rails 4.2 e pg 9.4.1 hai trovato qualche soluzione ?? – medBo

+2

La domanda e la soluzione duplicate sono qui: http://stackoverflow.com/questions/29393562/rails-and-jsonb-type-jsonb-does-not-exist – deivid

risposta

6

Verificare di essere connessi all'istanza di Postgres corretta in fase di sviluppo.

rails console 
ActiveRecord::Base.connection.execute("select version();").first["version"] 

Se si è certi di eseguire 9.4, è possibile che siano in esecuzione due server Postgres. Un 9,4 e uno più vecchio.

Mi sono imbattuto in questo problema e ho modificato il mio database.yml e specificato host: 'localhost'.

+0

Nel mio caso il postgres corretto era in esecuzione sulla porta 5433. – meta