Jak można wyłączyć wyjście db: load: schema? UruchamianiePomijanie danych wyjściowych w trybie rake DB: schemat: ładowanie
bundle exec rake db:schema:load
z -s
, -q
lub nawet VERBOSE=false
opcji sprawia, że nie ma różnicy w mocy; pojawia się ten sam "create_table ... add_index ..." śmieci, których nie chcę widzieć. Wzywam to od wewnątrz niestandardowego zadania Rake i nie chcę, aby użytkownik widział to wszystko za każdym razem.
UPDATE:
I rozwiązać problem z niektórych wskazówek od @Deefour za pomocą:
system "bundle exec rake db:schema:load -s RAILS_ENV=#{Rails.env} >NUL"
>NUL
jest na komputerach z systemem Windows, Unix mogą korzystać > /dev/null
.
zamiast
Rake::Task['db:schema:load'].invoke
jak robił w moim niestandardowego zadania. Należy zauważyć, że to rozwiązanie jest specyficzne dla komputerów z systemem Windows. W przypadku maszyn opartych na Uniksie, wyobrażam sobie, że powinieneś być w stanie użyć akceptowanego rozwiązania poniżej.
Jak masz uruchomiony powyższego polecenia w pliku natarcia? – deefour
Rake :: Zadanie ['db: schema: load']. Invoke – aguazales
Zauważyłem, że używanie oddzielnego wywołania 'system' było dość powolne, więc spójrz na użycie' cicho' lub 'silence_stream', jak @lightswitch poleca. –