AFAIK skal du bruge copy_data
metode på den underliggende PostgreSQL-databaseforbindelse til dette:
Og der er endda et eksempel:
conn.copy_data "COPY my_table TO STDOUT CSV" do
while row=conn.get_copy_data
p row
end
end
ActiveRecords indpakning for den rå databaseforbindelse ved ikke hvad copy_data
er, men du kan bruge raw_connection
for at pakke den ud:
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
Det ville efterlade dig med en række CSV-strenge i csv
(én CSV-række pr. array-indgang), og du kunne csv.join("\r\n")
for at få de endelige CSV-data.