0

目前,我们的 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​​ 或乘客升级有关,还是我们的应用程序中的错误导致此问题?我们该如何调试呢?
4

1 回答 1

0

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

于 2015-12-01T12:45:40.023 回答