Я включил ActiveRecord в сценарий, который я пишу, для обработки некоторых данных в базе данных MySQL. В моей среде разработки, использующей Mac OS X, все работает нормально, однако, когда я пытаюсь развернуть сценарий в среде Linux, я получаю следующую ошибку:
/activerecord-3.0.0/lib/active_record/connection_adapters/mysql_adapter.rb:623:in `select': undefined method `more_results' for #<Mysql:0x915976c> (NoMethodError)
Код, где происходит эта ошибка, вставлен ниже, в частности, от второй до последней строки, которая была закомментирована.
def select(sql, name = nil)
@connection.query_with_result = true
result = execute(sql, name)
rows = []
result.each_hash { |row| rows << row }
result.free
@connection.more_results && @connection.next_result # invoking stored procedures with CLIENT_MULTI_RESULTS requires this to tidy up else connection will be dropped
rows
end
Историю того, почему этот код был введен, можно посмотреть по адресу https://rails.lighthouseapp.com/projects/8994/tickets/3151-mysql-adapter-update-to-enable-use-of-stored-procedures#ticket-3151-33
Тем не менее, я все еще не уверен, как исправить эту ошибку, не комментируя эту проблемную строку. Я не использую хранимые процедуры, поэтому это не является существенной проблемой, однако я хотел бы реализовать более расширяемое исправление.
Я использую следующие драгоценные камни в обеих средах.
activerecord (3.0.0)
mysql (2.8.1)
Заранее спасибо за любые мысли о том, что здесь может происходить!