Ich habe den Rake-Task geschrieben, um eine postgreSQL-Abfrage durchzuführen. Die Aufgabe gibt ein Objekt der Klasse Result zurück.pgSQL-Abfrageergebnisse in Batches verarbeiten
Hier ist meine Aufgabe:
task export_products: :environment do
results = execute "SELECT smth IN somewhere"
if results.present?
results
else
nil
end
end
def execute sql
ActiveRecord::Base.connection.execute sql
end
Mein weiterer Plan ist die Ausgabe in Chargen aufgeteilt und diesen Chargen nacheinander in eine CSV-Datei speichern. Hier bleibe ich stecken. Ich kann mir nicht vorstellen, wie man die find_in_batches-Methode des ActiveRecord :: Batches-Moduls für PG :: Result aufruft.
Wie soll ich fortfahren?
Edit: Ich habe eine Legacy-SQL-Abfrage zu einem Legacy-Datenbank
Gibt es einen bestimmten Grund, warum Sie keine Abfragen für Model verwenden, anstatt SQL-Abfragen explizit zu schreiben? –
@Aakash Gupta Ich habe eine Legacy-SQL-Abfrage zu einer Legacy-Datenbank –