2014-12-31 7 views
7

Я использовал рельсы 4 и 9.4 в PostgreSQL моего project.when я был запущен "РДД & & RDC & & RDM & & выстр" и я получил эту ошибку PG :: UndefinedObject : ERROR: типа "jsonb" не существует как решить эту ошибку? Расскажи мне.Rails 4 - 9,4 jsonb PostgreSQL не существует

Мой файл мигрирует:

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 

Спасибо за помощь ур!

+2

Это означает, что ваша версия Rails на самом деле не является 4.2, так как по крайней мере ваш формат является правильным, а необходимые версии - для Rails 4.2 и 9.4 для PostgreSQL. Не могли бы вы проверить это внимательно? –

+0

У меня такая же проблема, я использую rails 4.2 и pg 9.4.1 вы нашли какое-нибудь решение? – medBo

+2

Дублированный вопрос и решение находятся здесь: http://stackoverflow.com/questions/29393562/rails-and-jsonb-type-jsonb-does-not-exist – deivid

ответ

6

Проверьте, что вы подключены к нужному экземпляру Postgres при разработке.

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

Если вы уверены, что используете 9.4, возможно, у вас есть два сервера Postgres. Один 9,4 и более старый.

Я столкнулся с этой проблемой и отредактировал мою базу данных.yml и указал host: 'localhost'.

+0

В моем случае корректные postgres выполнялись на 5433-порте. – meta