2017-02-07 8 views
0

я сталкиваюсь это сообщение об ошибке при запуске мои функции после баловаться с gemsets и версии пг гем:Rails/Postgres: Ошибка после изменения стр гем версии

# --- Caused by: --- 
# PG::UndefinedColumn: 
# ERROR: column "waiting" does not exist 
# LINE 1: ...me AS source, age(now(), xact_start) AS duration, waiting, q... 
#                ^
# /Users/xx/.rvm/gems/[email protected]/gems/pghero-1.4.2/lib/pghero/methods/basic.rb:84:in `select_all' 

Я пробовал использовать обе версии пг самоцвет, что Я использовал вчера (0.18.4 и), указав точную версию в Gemfile, установив их (bundle install) и подтвердил, что версия находится в действии, используя проверку Gemfile.lock. Оба продолжают производить ошибку.

Я не очень опытный, особенно с Postgres. Я не знаю, как игральные игры и ОС-пакеты играют вместе и т. Д. Поэтому я хотел знать, знает ли кто, что происходит, и дайте мне совет?

Thanks

+0

Можете ли вы попробовать мигрировать один раз -> 'rake db: migrate' –

+0

Разве спецификации работали до этого? Я думаю, что ваша тестовая среда пропускает некоторые миграции. – Sajan

+0

Я запускал миграции в тестовых средах и средах dev. – Flip

ответ

1

У меня есть следующие вопросы и советы для вас

  • удалить все pg gem версию в вашем gemset
  • деинсталлировать пг герой камень
  • пробег bundle install
  • в случае ошибки все еще живет, то попробуйте обновить pghero камень - текущая версия 1.6.2 (упоминая об этом, как ваши ошибочные состояния pghero)

Вы переключились на другую рубиновую версию (даже второстепенная)? Если так, оставьте весь гемсет (rvm gemset delete) и запустите новый bundle install. Это создаст все родные расширения против обновленной рубиновой версии.

Надеюсь, это поможет.

+0

thx, что сделал трюк – Flip

1

Проблема заключается в версии Postgres. in 9.6 pg_stat_activity

... заменить колонку ожидания с wait_event_type и wait_event.

Как обходной вы можете попробовать изменения в скрипте, вызывая исключение:

, age(now(), xact_start) AS duration, waiting, 

к:

, age(now(), xact_start) AS duration, case when wait_event_type is null then false else true waiting, 
+0

thx, вы были правы в проблеме, являющейся версией pg. – Flip