Я нахожусь в приложении Rails 6 с sqlite DB. Я пытаюсь посмотреть на SQL, сгенерированный запросом активной записи, чтобы определить, является ли это чтением или записью.
У меня есть следующий код в инициализаторе:
adapter_klass = ActiveRecord::Base.connection.class
adapter_klass.class_eval do
alias_method :original_execute, :execute
def execute(sql, name=nil)
puts "SQL intercept"
original_execute(sql, name)
end
end
При тестировании в консоли Rails:
⇒ be rails c
Running via Spring preloader in process 10725
Loading development environment (Rails 5.2.4.1)
irb(main):001:0> Rental.first
SQL intercept
Rental Load (0.4ms) SELECT "rentals".* FROM "rentals" ORDER BY "rentals"."id" ASC LIMIT ? [["LIMIT", 1]]
=> #<Rental id: 1, rental_type: "condo", postal_code: "90535", owner_id: 1>
irb(main):002:0> Rental.count
(0.2ms) SELECT COUNT(*) FROM "rentals"
=> 2
Патч обезьяны запускается для первого запроса, но не что касается прочего. Спасибо за помощь !!