PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Surowe zapytanie Railsowe dla formatu csv, które ma zostać zwrócone przez kontroler

AFAIK musisz użyć copy_data metoda na bazowym połączeniu z bazą danych PostgreSQL w tym celu:

I jest nawet przykład:

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

Opakowanie ActiveRecord dla surowego połączenia z bazą danych nie wie, co copy_data jest, ale możesz użyć raw_connection aby go rozpakować:

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 dałoby ci tablicę ciągów CSV w csv (jeden wiersz CSV na wpis tablicy) i możesz csv.join("\r\n") aby uzyskać ostateczne dane CSV.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować wybrane wiersze wartościami z pliku CSV w Postgresie?

  2. Różnica dat Postregsql na podstawie sekund

  3. Czy mogę uzyskać niestandardowy format daty dla pluck(list) na Laravel5?

  4. Kolumna PostgreSQL 'foo' nie istnieje

  5. Operator nie istnieje:integer =integer[] w zapytaniu z ANY