¿Cómo se puede suprimir la salida de db: load: schema? CorrerSuprimir salida en Rake Tarea db: schema: cargar
bundle exec rake db:schema:load
con los -s
, -q
, o incluso VERBOSE=false
opciones no hace ninguna diferencia en el resultado; aparece la misma basura "create_table ... add_index ..." que no quiero ver. Invoco esto desde dentro de una tarea de Rake personalizada y no quiero que el usuario vea todo esto cada vez.
ACTUALIZACIÓN:
He resuelto el problema con alguna orientación de @Deefour mediante el uso de:
system "bundle exec rake db:schema:load -s RAILS_ENV=#{Rails.env} >NUL"
>NUL
es para máquinas Windows, Unix basados puede utilizar > /dev/null
.
en lugar de
Rake::Task['db:schema:load'].invoke
como lo habían estado haciendo en mi tarea personalizada. Tenga en cuenta que esta solución es específica para máquinas con Windows. Para máquinas basadas en Unix, imagino que debería poder usar la solución aceptada a continuación.
¿Cómo estás ejecutando el comando anterior en el archivo de rastrillo? – deefour
Rake :: Task ['db: schema: load']. Invoke – aguazales
Descubrí que usar una llamada de 'sistema' por separado era bastante lenta, así que eche un vistazo a usar 'quietly' o' silence_stream' como @lightswitch recomienda. –