PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Obtendo resultados digitados do SQL bruto do ActiveRecord


Embora eu não tenha dúvidas de que a resposta de Björn Nilsson funcionou quando ele a postou, está falhando para mim com o Postgres 9.4 e versão PG gem 0.18.2 . Eu encontrei o seguinte para funcionar depois de examinar a documentação do PG gem:
pg = ActiveRecord::Base.connection
@type_map ||= PG::BasicTypeMapForResults.new(pg.raw_connection)

res = pg.execute("SELECT 'abc'::TEXT AS a, 123::INTEGER AS b, 1.23::FLOAT;")
res.type_map = @type_map
res[0]
# => {"a"=>"abc", "b"=>123, "float8"=>1.23}