0

したがって、私のrakeコマンドでは、-traceを実行すると、手動で実行したコマンドに対してのみ実行され、カスタムrakeが実行するrakeコマンドは実行されません。

私のレーキコマンド:

namespace :db do
  task :regenesis do
    #because of how devestating this command could be, it's going 
    # to be forced to use the Test Environment
    puts "Re-Generating the Database"
    Rake::Task["db:drop RAILS_ENV=test --trace"].invoke
    Rake::Task["db:create RAILS_ENV=test"].invoke
    Rake::Task["db:create RAILS_ENV=test"].invoke
    Rake::Task["db:bootstrap RAILS_ENV=test"].invoke
  end
end

Twouldは、そこに--traceをハードコーディングする必要がないのが理想的です= D

したがって、rake db:regenesis --traceを実行できるはずであり、それらのすべてのrakeコマンドにtraceを追加する必要があります。

それ、どうやったら出来るの?

4

1 に答える 1

1

この質問を確認してください。タスクを変更してパラメーターを追加できない場合(何らかの理由で)、次のような環境変数を使用できます。

namespace :db do
  task :regenesis do
    #because of how devestating this command could be, it's going 
    # to be forced to use the Test Environment
    puts "Re-Generating the Database"
    ENV["extra_option"] = "--trace"
    Rake::Task["db:drop RAILS_ENV=test"].invoke
    Rake::Task["db:create RAILS_ENV=test"].invoke
    Rake::Task["db:create RAILS_ENV=test"].invoke
    Rake::Task["db:bootstrap RAILS_ENV=test"].invoke
  end
end

そして、あなたのタスクでは、あなたは探す必要がありますENV["extra_option"]

于 2011-09-01T19:30:51.437 に答える