AFAIK je moet de copy_data
gebruiken
methode op de onderliggende PostgreSQL-databaseverbinding hiervoor:
En er is zelfs een voorbeeld:
conn.copy_data "COPY my_table TO STDOUT CSV" do
while row=conn.get_copy_data
p row
end
end
De wrapper van ActiveRecord voor de onbewerkte databaseverbinding weet niet wat copy_data
is maar je kunt raw_connection
om het uit te pakken:
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
Dat zou je achterlaten met een array van CSV-strings in csv
(één CSV-rij per array-item) en u kunt csv.join("\r\n")
om de definitieve CSV-gegevens te krijgen.