AFAIK devi usare copy_data
metodo sulla connessione al database PostgreSQL sottostante per questo:
E c'è anche un esempio:
conn.copy_data "COPY my_table TO STDOUT CSV" do
while row=conn.get_copy_data
p row
end
end
Il wrapper di ActiveRecord per la connessione al database non elaborato non sa cosa copy_data
è ma puoi usare raw_connection
per scartarlo:
conn = ActiveRecord::Base.connection.raw_connection
csv = [ ]
conn.copy_data('copy stories to stdout with csv header') do
while row = conn.get_copy_data
csv.push(row)
end
end
Ciò ti lascerebbe con una matrice di stringhe CSV in csv
(una riga CSV per voce dell'array) e potresti csv.join("\r\n")
per ottenere i dati CSV finali.