Ruby on rails Rails在prod和dev服务器上的原始sql查询中提供不同类型的结果

Ruby on rails Rails在prod和dev服务器上的原始sql查询中提供不同类型的结果,ruby-on-rails,activerecord,orm,Ruby On Rails,Activerecord,Orm,当我使用ActiveRecord::Base.connection.execute运行direct raw sql时,开发服务器和产品服务器会产生不同类型的结果,尽管两者都是正确的 查询(在rails控制台中): 产品服务器: [{"course"=>"M.C.A.", "placed"=>0.0, "total"=>0, 0=>"M.C.A.", 1=>0.0, 2=>0}, {"course"=>"M.Tech.", "placed"=>0.0

当我使用
ActiveRecord::Base.connection.execute
运行direct raw sql时,开发服务器和产品服务器会产生不同类型的结果,尽管两者都是正确的

查询(在rails控制台中):

产品服务器:

[{"course"=>"M.C.A.", "placed"=>0.0, "total"=>0, 0=>"M.C.A.", 1=>0.0, 2=>0}, {"course"=>"M.Tech.", "placed"=>0.0, "total"=>0, 0=>"M.Tech.", 1=>0.0, 2=>0}] 
query.as_json


我猜在这种情况下,服务器是不同的。可能值得列出它们的相同点和不同点:ruby版本、gem版本(特别是rails)、数据库(不同的数据库/不同的版本)、如何获得查询输出。在每种情况下(logging/console/
。to.\s
/
。inspect
)服务器都是相同的,我在dev和prod环境中的系统上进行此操作,只有db表记录不同,所以唯一的区别是它是开发环境而不是生产环境?你必须给我们更多的时间继续下去。哪些宝石在您的开发环境中,但不在生产环境中?
 #<Mysql2::Result:0xab44ca4 @query_options={:as=>:array, :async=>false, :cast_booleans=>false, :symbolize_keys=>false, :database_timezone=>:utc, :application_timezone=>nil, :cache_rows=>true, :connect_flags=>-2147442171, :cast=>true, :default_file=>nil, :default_group=>nil, :adapter=>"mysql2", :pool=>5, :timeout=>5000, :encoding=>"utf8", :database=>"ietplacementdb_dev", :username=>"ietplacementuser", :password=>"placement@pass15", :socket=>"/var/run/mysqld/mysqld.sock", :flags=>2}> 
[["M.C.A.", "2.0", 1], ["M.Tech.", "20.0", 2]] 
[{"course"=>"M.C.A.", "placed"=>0.0, "total"=>0, 0=>"M.C.A.", 1=>0.0, 2=>0}, {"course"=>"M.Tech.", "placed"=>0.0, "total"=>0, 0=>"M.Tech.", 1=>0.0, 2=>0}] 
[{"course"=>"M.C.A.", "placed"=>0.0, "total"=>0, "0"=>"M.C.A.", "1"=>0.0, "2"=>0}, {"course"=>"M.Tech.", "placed"=>0.0, "total"=>0, "0"=>"M.Tech.", "1"=>0.0, "2"=>0}]