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. SQL查询是不是在VB6记录
- 2. 是否可以记录在SQL Server上执行的每个查询的文本?
- 3. 当mysql查询失败时是否有任何错误记录?
- 4. 是否有可能在clojure中记录记录中的字段?
- 5. 是否有可能在Django中只记录一个视图的查询?
- 6. 是否有可能在firestore查询上有完成块?
- 7. 是否有可能强制顶部任务栏(在Win7上)?
- 8. 查询服务器是否存在记录,服务器无法确切知道正在查询什么记录
- 9. SQL查询只有当所有的记录存在功能
- 10. SQL查询任务在SSIS
- 11. SQL查询来获取任何匹配的记录,否则为NULL记录
- 12. 如何使用sql查询有效检查记录是否存在?
- 13. 是否有可能将记录数组作为记录字段?
- 14. 是否有可能在sql server上使用jdbc获取查询计划?
- 15. 是否有可能在GridView(ASP.NET)上执行linq查询?
- 16. 是否有可能返回上次删除的记录ID?
- 17. 是否可以在Delphi应用程序和MsAccess DB之间记录SQL查询?
- 18. 是否有可能建立以下SQL查询
- 19. Nhibernate:是否有可能使HQL生成SQL查询JOIN
- 20. 嵌入式SQL,如何检查是否存在记录
- 21. Hibernate查询(不是SQL)日志记录
- 22. 为什么我的SQL查询没有返回任何记录?
- 23. SQL查询的上述任务
- 24. 是否有可能使用查询本身来编辑sql查询
- 25. 在现有记录集上运行SQL查询?
- 26. 是否有可能在ORACLE SQL的CASE中使用SQL查询作为结果?
- 27. SQL查询中的有效记录
- 28. 带有重复记录的SQL查询
- 29. 没有查询的SQL记录插入?
- 30. SQL查询,不显示所有记录
啊,我看到他们在development.log,谢谢 – mbdev