当我使用自定义db:来自capistrano / rails的迁移任务时,未显示有关迁移处理的信息。要更改我自定义的db:migrate任务并将log_level更改为:debug。
info '[deploy:migrate] Run `rake db:migrate`'
within release_path do
with rails_env: fetch(:rails_env) do
has_verbosity = defined?(SSHKit) && SSHKit.respond_to?(:config) && SSHKit.config.respond_to?(:output_verbosity)
if has_verbosity
verbosity_level = SSHKit.config.output_verbosity
SSHKit.config.output_verbosity = 0 # Logger::DEBUG
end
execute :rake, "db:migrate"
SSHKit.config.output_verbosity = verbosity_level if has_verbosity
end
end
一切似乎都没问题,但有关处理迁移的信息显示在完成所有迁移之后。但我希望通过步骤显示该信息(1.迁移1完成; 2.关于添加到日志的信息; 3.迁移2完成; 4.关于添加到日志的信息。)。现在它的工作方式如下:1。迁移1完成; 2.迁移2完成; 4.有关添加到日志的所有迁移的信息。
答案 0 :(得分:0)
感谢您的帮助。我已使用Rake::Task['deploy:migrate'].clear
禁用了默认迁移任务,但这对我无效。我研究了gem sshkit-1.8.1,发现只需要将set :pty, true
添加到deploy.rb。