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文字列の配列が残ります。 (配列エントリごとに1つのCSV行)そして csv.join( "\ r \ n")
最終的なCSVデータを取得します。