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 डेटा प्राप्त करने के लिए।