annotate_models のコード見ていたら、次のようなコードが書かれていて、実際の db:migrate のタスクを上書きしてるのかなあ…だとしたら実際の db:migrate の処理どこ行ったんだろうと思った。
namespace :db do [:migrate, :rollback].each do |cmd| task cmd do Rake::Task['set_annotation_options'].invoke Annotate::Migration.update_annotations end # ... end
ちゃんと調べたら、同じrakeタスクは複数定義すると、両方実行される仕様っぽいですね。知らなかった
task :hoge do puts 'hoge' end task :hoge do puts 'fuga' end
rake hoge とすると
hoge fuga
と出力される