Можно ли выводить сценарии смены SQL, которые производит "rake db: migrate"?
Можно ли выводить сценарии изменения SQL, которые производит "rake db: migrate"?
Ответ 1
Вы можете создать задачу Rake в lib/tasks/
:
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
для регистрации миграции.
Ответ 2
Основываясь на @qarol, но даже кулер, добавьте эту задачу Rake в один из ваших файлов Rake:
task :log => :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
Затем вы можете вызвать ЛЮБОЕ задачу Rake и зарегистрировать вывод:
rake log db:migrate
Ответ 3
Выход SQL записывается в файл журнала среды, например. development.log