前置到现有的耙任务
Prepend to existing rake task
再次定义现有的 rake 任务附加到原始任务,但我想 prepend 到 db:migrate 任务。在某些情况下,我想事先提出错误。有没有一个好的方法来前置现有的 rake 任务?
定义自己的任务并在里面调用db:migrate可能会更好。
namespace :custom_db do
desc 'migrate db if condition true'
task :migrate do
if true #your condition
Rake::Task['db:migrate'].invoke
else
#process errors
end
end
end
尝试在 'db' 命名空间上添加 db:custom
任务并使用 enhance
方法调用 db:migrate
# add your custom code on db:custom
namespace 'db' do
task 'custom' do
puts "do custom db stuff"
end
end
# invoke db:migrate
Rake::Task['db:migrate'].enhance [:custom]
再次定义现有的 rake 任务附加到原始任务,但我想 prepend 到 db:migrate 任务。在某些情况下,我想事先提出错误。有没有一个好的方法来前置现有的 rake 任务?
定义自己的任务并在里面调用db:migrate可能会更好。
namespace :custom_db do
desc 'migrate db if condition true'
task :migrate do
if true #your condition
Rake::Task['db:migrate'].invoke
else
#process errors
end
end
end
尝试在 'db' 命名空间上添加 db:custom
任务并使用 enhance
方法调用 db:migrate
# add your custom code on db:custom
namespace 'db' do
task 'custom' do
puts "do custom db stuff"
end
end
# invoke db:migrate
Rake::Task['db:migrate'].enhance [:custom]