Откуда поступает этот вывод SQL Debug? - PullRequest
0 голосов
/ 17 ноября 2018

Мой вывод при запуске моего файла ruby ​​cli содержит строки вроде:

D, [2018-11-17T15:33:29.481676 #45237] DEBUG -- : Patient Load (0.6ms) SELECT "patients".* FROM "patients"

Я скопировал вещи из других примеров проектов для своей среды, Gemfile и Rakefile, и, очевидно, что-то настроено для вывода этого. Как мне его выключить?

Мой гемфайл:

source "https://rubygems.org"

gem 'pry'
gem 'pry-rescue' 
gem 'pry-stack_explorer'
gem 'pry-nav'
gem 'activesupport'
gem 'nokogiri'
gem "activerecord"
gem "sinatra-activerecord"
gem "sinatra"
gem "sqlite3"
gem "rake"
gem "database_cleaner"

group :test do
  gem 'poltergeist'
  gem 'capybara'
  gem 'rspec'
end

Мой грабли:

# ENV['SINATRA_ENV'] ||= "development"
$LOADED_FEATURES << 'fake/active_support/core_ext/hash'

require_relative './config/environment'
require 'sinatra/activerecord/rake'

task :console do
  Pry.start
end

Мое окружение:

ENV['SINATRA_ENV'] ||= "development"
$LOADED_FEATURES << 'fake/active_support/core_ext/hash'

require 'bundler/setup'
Bundler.require

ActiveRecord::Base.establish_connection(
  adapter: "sqlite3",
  database: "db/#{ENV['SINATRA_ENV']}.sqlite"
)

require 'active_record'
require 'rake'

Dir[File.join(File.dirname(__FILE__), "../app/models", "*.rb")].each {|f| require f}
Dir[File.join(File.dirname(__FILE__), "../lib", "*.rb")].each {|f| require f}

1 Ответ

0 голосов
/ 17 ноября 2018

Активная запись по умолчанию записывает вывод sql в режиме разработки.Чтобы отключить его, попробуйте добавить эту строку перед разделом после него, например,

ActiveRecord::Base.logger = nil

ActiveRecord::Base.establish_connection(
  adapter: "sqlite3",
  database: "db/#{ENV['SINATRA_ENV']}.sqlite"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...