AFAIK Anda perlu menggunakan copy_data
metode pada koneksi database PostgreSQL yang mendasari untuk ini:
Dan bahkan ada contohnya:
conn.copy_data "COPY my_table TO STDOUT CSV" do
while row=conn.get_copy_data
p row
end
end
Pembungkus ActiveRecord untuk koneksi database mentah tidak tahu apa copy_data
adalah tetapi Anda dapat menggunakan raw_connection
untuk membukanya:
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
Itu akan meninggalkan Anda dengan array string CSV di csv
(satu baris CSV per entri array) dan Anda dapat csv.join("\r\n")
untuk mendapatkan data CSV akhir.