Skip to content

Add comments to ActiveRecord queries to see where they came from or what user caused them

License

Notifications You must be signed in to change notification settings

grosser/active_record-comments

Repository files navigation

Adds comments to your activerecord queries so you can seem where they came from or what user caused them.

ActiveRecord 6.0 introduces an API to annotate queries, so use that if you can, but it doesn't provide a way to pass a block.

Install

gem install active_record-comments

Usage

require "active_record/comments"

# => SELECT ... /* user.rb:123 */
result = ActiveRecord::Comments.comment("user.rb:123") { User.where("x like y").count }

# => SELECT ... /* account cleanup initial */
result = ActiveRecord::Comments.comment("account cleanup") do
  ActiveRecord::Comments.comment("initial") { User.where("x like y").count }
end

If you're using raw SQL rather than Active Record to make your query, you will need to use exec_query rather than execute for comments to be added. e.g.

require 'active_record/comments'

ActiveRecord::Comments.comment("My comment")

sql_query = "SELECT * FROM users;"
result = ActiveRecord::Base.connection.exec_query(sql_query)

# => SELECT * FROM users /* My comment */

If you're replacing execute with exec_query to get comments, exec_query.rows returns data in the same format as execute.entries.

Author

Michael Grosser
[email protected]
License: MIT

About

Add comments to ActiveRecord queries to see where they came from or what user caused them

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages