11
A
回答
14
根据您的环境,耙将记录SQL查询,就像任何Rails的进程将在同一日志文件&。因此,在你的开发盒中,检查你的log/development.log文件 - 它将包含你的Rake任务的查询。如果您希望在生产中记录查询,请将Rake任务中的日志级别设置为DEBUG,并确保rake任务取决于:environment。
desc "Task with SQL logging"
task :test_log => :environment do
Rails.logger.level = Logger::DEBUG
Your code here...
end
4
3
echo '' > log/development.log
rake db:migrate:redo VERSION=20141017153933
cat log/development.log
0
我试过以上,无法得到它的工作。语法很好,没有错误,但没有SQL来到标准输出(或日志)。我正在使用rails 3.2。我也在生产环境中运行。
要看到我的rake任务生成的SQL查询,我曾经在http://eewang.github.io/blog/2013/07/29/how-to-use-rake-tasks-to-generate-migration-sql/
尤其是发现的技术,我刚插入此块在我的任务查找()之前生成的SQL查询我声明间谍在:
ActiveRecord::Base.connection.class.class_eval do
# alias the adapter's execute for later use
alias :old_execute :execute
# define our own execute
def execute(sql, name = nil)
print "===== #{sql}\n"
old_execute sql, name
end
end
然后,我可以看到标准输出上的SQL。这不是我的代码 - 尤金王提出了这种技术。
1
可能重复:is it possible to output the sql change scripts that rake db:migrate produces?
有一些不错的选择那里。我最喜欢的当然是我的答案。
相关问题
- 1. 是否有可能在RushORM中记录所有内部SQL查询?
- 2. SQL查询是不是在VB6记录
- 3. 是否可以记录在SQL Server上执行的每个查询的文本?
- 4. 当mysql查询失败时是否有任何错误记录?
- 5. 是否有可能使Hibernate查询跳过多记录查询中的错误记录?
- 6. 是否有可能在clojure中记录记录中的字段?
- 7. PHP中用于检查记录是否存在的SQL查询
- 8. 是否有可能在监视任务后运行任务?
- 9. 是否有可能在Django中只记录一个视图的查询?
- 10. 是否有SQL查询模式的名称,它可以获取GROUPED查询中每个记录的行数据?
- 11. 是否有可能在firestore查询上有完成块?
- 12. 此查询中不存在SQL - 是否有可能
- 13. 是否有可能强制顶部任务栏(在Win7上)?
- 14. SELECT查询的性能检查表中是否存在记录
- 15. 检查记录是否存在SQL PhoneGap
- 16. 查询服务器是否存在记录,服务器无法确切知道正在查询什么记录
- 17. SQL查询只有当所有的记录存在功能
- 18. Django - 查询更新是否可以删除现有记录?
- 19. SQL查询任务在SSIS
- 20. SQL查询来获取任何匹配的记录,否则为NULL记录
- 21. 是否可以检查是否有任何错误记录到Serilog中的`ILogger`?
- 22. 如何使用sql查询有效检查记录是否存在?
- 23. 是否有可能实现MySQL查询
- 24. 是否有可能使用ngResours查询
- 25. 是否有可能将记录数组作为记录字段?
- 26. 最有效的活动记录查询来查看记录是否是最爱?
- 27. 是否有可能在sql server上使用jdbc获取查询计划?
- 28. Yii2:是否有可能过滤出一些查询记录到Yii调试器?
- 29. 是否有可能在Django中查询查询对象?
- 30. 是否有可能在GridView(ASP.NET)上执行linq查询?
啊,我看到他们在development.log,谢谢 – mbdev