3

db:migrate VERSION=0 を実行してから、自分の rake タスク内で db:migrate を実行したいと思います。これを行う方法について混乱しています。特別な require ステートメントが必要ですか? 私の rake タスクは、Rails アプリの lib/tasks ディレクトリに置かれます。ありがとう。

4

3 に答える 3

2

編集:Rake ::Task[]はパラメータを受け入れません。ENVで設定する必要があります。さらに、タスクを複数回実行するには、タスクを再度有効にする必要があります。

ENV['VERSION']= '0'
Rake::Task['db:migrate'].invoke
Rake::Task['db:migrate'].reenable
ENV.delete 'VERSION'
Rake::Task["db:migrate"].invoke

注:Rake :: Task.reenableには、Rake0.8.2以降が必要です。

于 2009-03-04T16:05:31.167 に答える
0

rake db:resetそれがあなたがやろうとしていることを達成するので、チェックしてください。

すべてのレーキタスクが何をするかを確認するには、rake -T

于 2009-03-04T16:06:30.693 に答える