connection.select_value zwraca tylko ciągi znaków w postgres z pg gem
Konwertuję aplikację szyny z używania mysql (gem mysql2) na postgres (pg gem).
Z mysql,ActiveRecord::Base.connection.select_value
wywołania zwracają wartości wpisane zgodnie z danymi, na przykład:
> ActiveRecord::Base.connection.select_value("SELECT COUNT(*) FROM errors")
=> 86
> ActiveRecord::Base.connection.select_value("SELECT exception FROM errors where id=565")
=> "TechTalk.Genome.SqlExecutionException"
> ActiveRecord::Base.connection.select_value("SELECT id FROM errors where id=565")
=> 565
Jednak z postgres,connection.select_value
zawsze zwraca ciąg:
> ActiveRecord::Base.connection.select_value("SELECT COUNT(*) FROM errors")
=> "1"
> ActiveRecord::Base.connection.select_value("SELECT id FROM errors")
=> "1"
> ActiveRecord::Base.connection.select_value("SELECT source FROM errors limit 1")
=> "webapp"
Spowodowało to przerwanie kilku testów jednostkowych i chociaż są one możliwe do naprawienia, jestem pewien, że mamy inny kod polegający na tych wartościach zwracanych.Czy istnieje sposób na uzyskanie poprawnych wartości zwracanych zconnection.select_value
kiedy używasz postgres?