sql >> Databáze >  >> RDS >> PostgreSQL

Rails raw dotaz pro formát csv, který má být vrácen prostřednictvím řadiče

AFAIK musíte použít copy_data metoda na základní připojení databáze PostgreSQL pro toto:

A je tu dokonce příklad:

conn.copy_data "COPY my_table TO STDOUT CSV" do
  while row=conn.get_copy_data
    p row
  end
end

Obal ActiveRecord pro připojení nezpracované databáze neví, co copy_data je, ale můžete použít raw_connection rozbalit to:

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

To by vám zůstalo pole řetězců CSV v csv (jeden řádek CSV na položku pole) a můžete csv.join("\r\n") získat konečná data CSV.



  1. Použití uložené procedury Sqlite v systému Android

  2. Co je uložená procedura?

  3. Jeden model Django, více stolů?

  4. Odstranění duplicitních řádků z tabulky v Oracle