Rails で migrate 時に実行される SQL を確認する
以前の記事 のように migrate 時に data メソッドを使ってデータ移行しようとした場合に、実際に db:migrate
した際に発行される SQL を確認したい。
なぜなら、spec で単体では上手く動いても、まとめて実行した際に意図した動作にならない時にデバッグしたいから。
やり方としては、ログを表示する rake ファイルを追加し、db:migrate
時に一緒に実行させてあげると、標準出力にSQLのログが出力される。
lib/task/log.rake
task log: :environment do ActiveRecord::Base.logger = Logger.new(STDOUT) end
コマンド
$ bin/rails log db:migrate
地味に便利。