Wie können Sie die Ausgabe von db: load: schema unterdrücken? LaufenAusgabe in Rake-Task unterdrücken db: schema: load
bundle exec rake db:schema:load
mit den -s
, -q
oder sogar VERBOSE=false
Optionen macht keinen Unterschied in der Ausgabe; der gleiche "create_table ... add_index ..." Müll, den ich nicht sehen möchte, erscheint. Ich rufe dies aus einer benutzerdefinierten Rake-Aufgabe heraus, und ich möchte nicht, dass der Benutzer all dies jedes Mal sieht.
UPDATE:
ich das Problem mit etwas Anleitung von @Deefour gelöst durch die Verwendung:
system "bundle exec rake db:schema:load -s RAILS_ENV=#{Rails.env} >NUL"
>NUL
ist für Windows-Maschinen, Unix-basierten > /dev/null
verwenden können.
statt
Rake::Task['db:schema:load'].invoke
wie ich hatte in meiner benutzerdefinierten Aufgabe gemacht haben. Beachten Sie, dass diese Lösung für Windows-Computer spezifisch ist. Für Unix-basierte Rechner stelle ich mir vor, Sie sollten die untenstehende akzeptierte Lösung verwenden können.
Wie sind Sie mit dem obigen Befehl in Ihrer Rake-Datei? – deefour
Rake :: Task ['db: schema: load']. Invoke – aguazales
Ich fand, dass die Verwendung eines separaten 'System'-Callouts ziemlich langsam war, also schau' ruhig 'oder 'silence_stream', wie @lightswitch es empfiehlt. –