Как отключить запись sqlite3 'sqlite_master' в рельсы? - PullRequest
4 голосов
/ 20 августа 2010

Мой журнал разработки заполняется

ВЫБЕРИТЕ имя ОТ sqlite_master ГДЕ type = 'table' AND NOT name = 'Sqlite_sequence'

Я бы хотел отключить запросы sqlite_master в sqlite3, чтобы я мог видеть только интересные запросы.

1 Ответ

2 голосов
/ 20 августа 2010

Вот как я это исправил.Возможно, есть лучшие варианты.

Протестировано только на Rails 2.3.8.

Я добавил метод log_info в класс SQLiteAdapter в геме activerecord, который переопределяет тот же метод в AbstractAdapter.

      def log_info(sql, name, ms)
        unless sql.match(/sqlite_master/)
          if @logger && @logger.debug?
            name = '%s (%.1fms)' % [name || 'SQL', ms]
            @logger.debug(format_log_entry(name, sql.squeeze(' ')))
          end
        end
      end

поэтому любой оператор sql, содержащий sqlite_master, не регистрируется.

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