2012-03-19 8 views
13

E 'possibile disabilitare la nuova funzionalità di spiegazione in Rails 3.2 a livello globale tramite la configurazione? Sto usando activerecord-sqlserver-adapter 3.2.1 e sembra che ci siano alcuni bug con la parte spiega (show plan) della gemma.disable explain in Rails 3.2

risposta

24

Per citare da http://weblog.rubyonrails.org/2011/12/6/what-s-new-in-edge-rails-explain/

Nuove applicazioni ottengono

config.active_record.auto_explain_threshold_in_seconds = 0.5 

in config/environments/development.rb . Active Record monitora le query e se richiedono più di tale soglia il loro piano di query verrà registrato utilizzando warn.

[...]

Per impostazione predefinita la soglia è nil negli ambienti di test e di produzione, il che significa la funzione è disabilitata.

quindi basta impostare

config.active_record.auto_explain_threshold_in_seconds = nil 
10

È possibile disabilitare l'auto-spiega impostando config.active_record.auto_explain_threshold_in_seconds = nil nel vostro config/ambienti/development.rb

+4

Quando ho risposto alla domanda, non c'erano altre risposte. Abbiamo dovuto rispondere/scrivere allo stesso tempo. – igreulich

+3

Uno sguardo al timestamp delle risposte è la verifica di questo. – Tass

1

Si dovrebbe notare che config.auto_explain_threshold_in_seconds è stato completamente rimosso in Rails 4.0 & 4.1. In 4.1 genererà un errore completo.

Vedi https://github.com/rails/rails/pull/9400/files

Se si aggiorna, commentare quella linea fuori.