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