2016-03-21 3 views
1

Ich möchte die Stimmen zählen, die ein Benutzer einem Artikel gegeben hat, und sie irgendwo speichern.Wie überprüft man SQL-Befehle, die mit Rake in Ruby on Rails ausgeführt werden

Ich möchte alle SQL INSERT oder CREATE Linien ausgeführt überprüfen, wenn wir etwas tun, wie:

>$ bundle exec rake db:reset 
>$ bundle exec rake db:seed 
>$ bundle exec rake test:prepare 

Gibt es eine Möglichkeit ich die SQL-Befehle überprüfen können in Ruby on Rails?

+0

Jemand meine Frage abgelehnt, ohne einen Grund zu nennen, warum? :/ – python

+0

Auch mir nicht klar. – Tim

+0

Es wurde möglicherweise abgelehnt, weil die Frage nicht gut gestellt wird. Bitte lesen Sie "[fragen]" und "[mcve]". Wir erwarten, dass Sie Beweise für Ihre Bemühungen sehen, in diesem Fall, was Sie versucht haben und warum es nicht funktioniert hat. Sie scheinen uns gebeten zu haben, es für Sie zu schreiben. Auch könnte Ihre Frage klarer formuliert sein. –

Antwort

1

Sie können eine benutzerdefinierte Rake Aufgabe hinzufügen und es verwenden, wenn Sie die SQL-Ausgabe anmelden müssen:

task log: :environment do 
    ActiveRecord::Base.logger = Logger.new(STDOUT) 
end 

Jetzt können Sie laufen:

bundle exec rake log db:reset 
bundle exec rake log db:seed 
bundle exec rake log test:prepare 

Siehe "Is it possible to output the SQL change scripts that 'rake db:migrate' produces?"

+0

Können Sie mir sagen, wo ich eine benutzerdefinierte Rake-Aufgabe definieren werde? – python

+0

'lib/tasks/task_name.rake' –

+0

Danke Maxim. Es funktioniert – python