2012-05-18 3 views
5

Este es un problema extraño que no pude encontrar en Google.Rails 3.2 Explica que causa problemas extraños con las cargas de documentos

Soy a veces encontrando esta excepción en transacciones que incluyen una carga de documento a AWS S3.

Mysql2::Error: Table 'app_name_development.begin' doesn't exist: EXPLAIN BEGIN 

Apagar explica comentando esta línea en la configuración del entorno resuelve el problema:

# config.active_record.auto_explain_threshold_in_seconds = 0.5 

estoy corriendo MySQL.

+1

Cuando las cosas rails una consulta de base de datos ha llevado demasiado tiempo (que incluye subconsultas (de incluye etc), entonces las pistas explican en todas las consultas. Parece que de alguna manera se ejecutó una transacción dentro de ese bloque, aunque desde mi lectura de la fuente no puedo explicar cómo esto sucedería. –

+0

Correcto Entiendo por qué está ejecutando las explicaciones, pero no por qué las explicaciones están causando una excepción tan extraña. – twmills

+0

Probablemente porque está tratando de explicar la declaración 'BEGIN' que marca el comienzo de una transacción, que no es válida. No veo muy bien lo que daría como resultado que se emita una declaración de inicio a pesar de –

Respuesta

0

Si se encuentra en una versión de rieles que todavía tiene el error se puede evitar mediante el establecimiento de:

config.active_record.auto_explain_threshold_in_seconds = nil 

en config/ambientes/development.rb.

Cuestiones relacionadas