在rake任务中缓存的ActiveRecord模型?

gmo*_*iey 6 rake activerecord ruby-on-rails

我知道在rails 2.3.2中缓存了ActiveRecord查询,即您可能会在开发/生产日志中看到一些内容:

CACHE (0.0ms)   SELECT * FROM `users` WHERE `users`.`id` = 1
Run Code Online (Sandbox Code Playgroud)

我想知道相同的原则是否适用于rake任务.

我有一个rake任务,它将查询许多不同的模型,我想知道我是否应该实现自己的缓存,或者默认情况下是否包含此行为.

另外,有没有办法查看在rake任务期间执行的sql查询?与开发/生产日志类似

Tob*_*ede 1

rake 任务将在您指定的环境中运行,在这种情况下它将采用该环境的规则。

您可以从命令行设置 Rails 环境:

RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)

日志记录可以设置为 rake 的一部分,您应该在正常的 Rails 日志中看到这一点。