Come si può sopprimere l'output di db: load: schema? EsecuzioneSoppressione dell'output in Rake Attività db: schema: carico
bundle exec rake db:schema:load
con i -s
, -q
, o anche VERBOSE=false
opzioni non fa alcuna differenza nel risultato; lo stesso cestino "create_table ... add_index ..." che non voglio vedere appare. Sto invocando questo da un task Rake personalizzato e non voglio che l'utente veda tutto questo ogni volta.
UPDATE:
ho risolto il problema con un orientamento da @Deefour utilizzando:
system "bundle exec rake db:schema:load -s RAILS_ENV=#{Rails.env} >NUL"
>NUL
è per le macchine Windows, Unix possono utilizzare > /dev/null
.
piuttosto che
Rake::Task['db:schema:load'].invoke
come avevo fatto nella mia attività personalizzata. Si noti che questa soluzione è specifica per le macchine Windows. Per le macchine basate su Unix, immagino che dovresti essere in grado di utilizzare la soluzione accettata di seguito.
Come stai eseguendo il comando precedente nel file rake? – deefour
Rake :: Task ['db: schema: load']. Invoke – aguazales
Ho trovato che usare una chiamata 'system' separata era piuttosto lento, quindi dai un'occhiata a' quietly' o 'silence_stream' come consiglia @lightswitch. –