AFAIK трябва да използвате copy_data
метод на основната връзка с база данни PostgreSQL за това:
И дори има пример:
conn.copy_data "COPY my_table TO STDOUT CSV" do
while row=conn.get_copy_data
p row
end
end
Обвивката на ActiveRecord за необработената връзка с база данни не знае какво copy_data
е, но можете да използвате raw_connectionкод>
за да го разопаковате:
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
Това ще ви остави масив от CSV низове в csv
(един CSV ред на запис в масив) и можете да csv.join("\r\n")
за да получите окончателните CSV данни.