Activerecord протоколирование в формате sql - PullRequest
0 голосов
/ 05 ноября 2018

Я использую Sinatra в качестве веб-сервера с activerecord в качестве ORM. Мой адаптер oracle_enhanced. Я активирую логирование вот так

LOG = Logger.new( "./logs/#{File.basename(__FILE__)}_log.txt", 'daily' )
ActiveRecord::Base.logger = LOG
ActiveSupport::LogSubscriber.colorize_logging = false

Все в порядке, за исключением того, что когда я обновляю модель, она регистрируется в этой форме

D, [2018-11-05T09:38:11.426185 #5540] DEBUG -- :   SQL (0.0ms)  UPDATE "MYTABLE" 
SET "DESCRIPTION" = :a1 WHERE "MYTABLE"."ID" = 10121  [["description", "some text"]]

и хуже, если это приводит к ошибке, sql является только частичным, часть параметра теряется ..

Есть ли способ получить протоколирование следующим образом, чтобы я мог выполнить sql, например, в Sql * Plus или SqlDeveloper?

UPDATE "MYTABLE" SET "DESCRIPTION" = "some text" WHERE "MYTABLE"."ID" = 10121

Мне также интересно, какой SQL эффективно выполняется, в Sql * Plus или SqlDeveloper зарегистрированный синтаксис не работает.

Не знаю, относится ли это только к адаптеру Oracle / oracle_enhanced или к другим адаптерам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...