в моей базе данных мы имеем сериализованное значение в одном столбце, как показано ниже
считать, что таблица является тестом и подана, является мета
---------------------------------------------------------------------
ID Name meta
------------------------------------------------------------------------
726345 test - :status: :success
:result: !ruby/object:PG::Result {}
-------------------------------------------------------------------------
при написании запроса с использованием Active record Test.select('meta').where(:id=> 726345)
это ошибка бросания: PG::Error Exception: result has been cleared
для восстановления столбцов Имя и идентификатор работают нормально. Я понял ошибку с ключом результата, но я не знаю, как решить эту проблему.
любая помощь??
Rails - 5.1, ruby - 2.2.5, mysql - 5.6
заранее спасибо
При записи вы сериализуете пустой объект PG::Result
. При запросе рельсы пытаются десериализовать его с помощью PG::Result.new
, что не работает
> PG::Result.new
PG::Error: result has been cleared
Чтобы исправить это, вы можете просто очистить столбец. В любом случае, это не имеет никакого практического применения.
Я действительно не понимаю, почему вы сериализуете результат postgtresql в mysql, хотя