如何抑制db:load:schema的输出?运行在Rake中抑制输出任务db:schema:load
bundle exec rake db:schema:load
与-s
,-q
,甚至VERBOSE=false
选项使得输出无差异;出现我不想看到的相同的“create_table ... add_index ...”垃圾。我从一个自定义的Rake任务中调用它,并且我不希望用户每次都看到所有这些。
UPDATE:
我通过解决与@Deefour一些指导的问题:
system "bundle exec rake db:schema:load -s RAILS_ENV=#{Rails.env} >NUL"
>NUL
是Windows机器,基于Unix的可以使用> /dev/null
。
而不是
Rake::Task['db:schema:load'].invoke
,因为我一直在做我的自定义任务。请注意,此解决方案特定于Windows机器。对于基于Unix的机器,我想你应该能够使用下面接受的解决方案。
你是如何运行在耙文件上面的命令? – deefour
Rake :: Task ['db:schema:load']。invoke – aguazales
我发现使用单独的'system'调用非常缓慢,所以请看@witwitch建议的'quietly'或'silence_stream'。 –