Обновление Rails 4.2.6 до 5.0.7 (PG :: ProtocolViolation: ОШИБКА) - PullRequest
0 голосов
/ 09 ноября 2018

Я перенес приложение Rails 4.2.6 на 5.0.7, однако у меня возникла следующая серьезная проблема:

PG::ProtocolViolation: ERROR:  bind message supplies 0 parameters, but prepared statement "" requires 2

Вот запрос, который я выполняю:

@items = Discount.includes(:status).where(status: {status: 'active'}, client_id: current_client_id)

После некоторых исследований я обнаружил, что это связано с ActiveRecord, и вот "исправление", которое работает: Github проблема

По сути, предлагается добавить скобки к параметрам where.

@items = Discount.includes(:status).where(status: {status: ['active']}, client_id: [current_client_id])

И действительно, это работает хорошо

Вопрос:

Кто-нибудь знает суть этой проблемы? Нужно ли применять этот «патч» ко ВСЕМ моим запросам AR?

Мне бы очень хотелось найти решение этой проблемы, если бы не было другого решения, я бы изменил +600 запросов по всему моему приложению.

Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...