1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00

Add Log SQL Queries Executed By ActiveRecord as a rails til

This commit is contained in:
jbranchaud
2019-10-16 17:44:10 -05:00
parent 466baaeef8
commit e885a335b1
2 changed files with 30 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
For a steady stream of TILs from a variety of rocketeers, checkout
[til.hashrocket.com](https://til.hashrocket.com/).
_851 TILs and counting..._
_852 TILs and counting..._
---
@@ -512,6 +512,7 @@ _851 TILs and counting..._
- [Hash Slicing](rails/hash-slicing.md)
- [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md)
- [List The Enqueued Jobs](rails/list-the-enqueued-jobs.md)
- [Log SQL Queries Executed By ActiveRecord](rails/log-sql-queries-executed-by-activerecord.md)
- [Mark A Migration As Irreversible](rails/mark-a-migration-as-irreversible.md)
- [Make ActionMailer Synchronous In Test](rails/make-action-mailer-synchronous-in-test.md)
- [Mark For Destruction](rails/mark-for-destruction.md)

View File

@@ -0,0 +1,28 @@
# Log SQL Queries Executed By ActiveRecord
When entering ActiveRecord statements in a Rails console, it can be useful to
see what SQL queries are being executed under the hood.
```ruby
> Book.first
Book Load (25.6ms) SELECT "books".* FROM "books" ORDER BY "books"."id" ASC LIMIT $1 [["LIMIT", 1]]
=> #<Book:0x00007f824ec6ff98
```
Notice the line right after the statement shows the corresponding `select`
query.
If you aren't seeing this line of SQL, then you'll need to turn on logging for
ActiveRecord. For instance, your test environment may not be configured to log
the SQL.
Right in your console, try running the following line:
```ruby
> ActiveRecord::Base.logger = Logger.new(STDOUT)
```
Enter an ActiveRecord statement, you should now be seeing the corresponding SQL
queries.
[source](https://stackoverflow.com/a/2936016/535590)