是否可以输出“rake db:migrate”生成的SQL更改脚本?
是否可以输出“rake db:migrate”生成的SQL更改脚本?
您可以在lib/tasks/
创build一个Rake任务:
namespace :db do desc 'Make migration with output' task(:migrate_with_sql => :environment) do ActiveRecord::Base.logger = Logger.new(STDOUT) Rake::Task['db:migrate'].invoke end end
然后调用rake db:migrate_with_sql
来logging迁移。
build立在@qarol上,但更酷的是,将这个Rake任务添加到您的一个Rake文件中:
task :log => :environment do ActiveRecord::Base.logger = Logger.new(STDOUT) end
然后,您可以调用ANY Rake任务并logging输出:
rake log db:migrate
SQL输出在您的环境日志文件(例如development.log)中被捕获