Ruby on rails 输出rake任务正在执行的命令

Ruby on rails 输出rake任务正在执行的命令,ruby-on-rails,rake,Ruby On Rails,Rake,我只是想更好地了解一些内置的rake任务是如何运行的,特别是rakedb:create 有没有一种方法可以查看创建数据库所执行的sql命令?我试着rakedb:create--verbose--trace,但我得到的只是 ** Invoke db:create (first_time) ** Invoke db:load_config (first_time) ** Execute (dry run) db:load_config ** Invoke rails_env (first_time)

我只是想更好地了解一些内置的
rake
任务是如何运行的,特别是
rakedb:create

有没有一种方法可以查看创建数据库所执行的sql命令?我试着
rakedb:create--verbose--trace
,但我得到的只是

** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Execute (dry run) db:load_config
** Invoke rails_env (first_time)
** Execute (dry run) rails_env
** Execute (dry run) db:create

我运行的是rails 3.2.13和rake 10.0.4

您可以编写一个定制的rake任务,它需要下面给出的任务

desc "Rake db:create with SQL logging"
task :db_create => :environment do
  Rails.logger.level = Logger::DEBUG
  `rake db:create`
end

它将提供您所需的输出。

在任务的源代码中查找不是更容易吗?我不认为rake能给你提供比跟踪更好的东西