使用带有Passenger 4.0.57的Ruby 2.1.5运行Rails 3.2.19时出现SQL错误

时间:2015-04-22 02:05:00

标签: ruby-on-rails ruby ruby-on-rails-3.2 passenger ruby-2.1.5

目前我们的Rails应用程序运行在Ruby 1.9.3和Passenger 3.0.19上。但是当我们将Ruby升级到版本2.1.5并将Passenger升级到4.0.57时,应用程序开始生成类似于以下的奇怪的SQL查询

ActiveRecord::StatementInvalid (Mysql2::Error: [34816] syntax error: improper query string termination: SELECT (End of query)
ActiveRecord::StatementInvalid (Mysql2::Error: [8192] Relation not found: no such relation ": SELECT ` (End of query)
Mysql2::Error: [32768] Translate error: SQL-ERROR: unable to resolve relation "": SELECT agents.* FROM agents WHERE ``.id = 22241082 LIMIT 1
ActiveRecord::StatementInvalid (Mysql2::Error: [32769] Unknown column: SQL-ERROR: unable to resolve column "agents.: SELECT  agents.* FROM agents WHERE agents.` (end of query)
One update query with where clause "0 = 0"

我们需要以下问题的帮助

  1. ruby​​ 2.1.5是否与Rails 3.2.19兼容?
  2. 这个问题可能与ruby或Passenger升级有关,还是我们的应用程序中的错误导致了这个问题?我们怎样才能进行调试 此?

1 个答案:

答案 0 :(得分:0)

我们终于发现这个问题与我们代码库中的一些旧宝石有关。升级它们以与Ruby 2.x兼容解决了这个问题。