Rails 4 - postgresql 9.4 jsonb не существует

Я использовал рельсы 4 и postgresql 9.4 в своем проекте. Когда я запускал "rdd && rdc && rdm && rds", я получил эту ошибку PG::UndefinedObject: ERROR: тип "jsonb" не существует как решить эту ошибку? скажи-ка.

Мой файл миграции:

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

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


person Karthick    schedule 31.12.2014    source источник
comment
Это будет означать, что ваша версия Rails на самом деле не 4.2, поскольку, по крайней мере, ваш формат правильный, а необходимые версии — 4.2 для Rails и 9.4 для PostgreSQL. Не могли бы вы внимательно это проверить?   -  person Roope Hakulinen    schedule 31.12.2014
comment
У меня такая же проблема, я использую rails 4.2 и pg 9.4.1, вы нашли какое-нибудь решение?   -  person medBouzid    schedule 01.04.2015
comment
Дублированный вопрос и решение здесь: stackoverflow.com/questions/29393562/   -  person deivid    schedule 20.05.2015


Ответы (1)


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

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

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

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

person stef    schedule 05.09.2015
comment
В моем случае правильный postgres работал на порту 5433. - person Grzegorz; 06.11.2015