概要
migration した際の SQL が知りたくなったので
rake db:migrate
した際に発行される SQL を標準出力に出力させます。
やり方
Is it possible to output the SQL change scripts that 'rake db:migrate' produces?
調べたら stack overflow で解決してくれてる人がいた。
log を出力させる task を作って
task log: :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
追加した task を付与して実行!
rake log db:migrate
これで DEBUG ログも出力されて、発行される SQL が見れます。簡単。
ちなみに
ActiveRecord::Base.logger = Logger.new(STDOUT)
は、debug ログなどが出力されない本番環境などで、「あれ?このコードどんな SQL が発行されるんだ?」って思ったときに、さくっとコンソールで調べられるので知っておくとちょっと便利です。