Añadiendo soporte para anteponer comentarios de registro de consultas

¿Qué?

Añade soporte para ActiveRecord::QueryLogs.prepend_comment como una extensión natural de la función existente de etiquetas de registro de consultas. Esta nueva configuración funciona junto con la variable de entorno actual RAILS_QUERY_LOG_TAGS.

¿Por qué?

Las etiquetas de registro de consultas son increíblemente útiles para la depuración, pero tienen una pega: al tratar con consultas largas y complejas, PostgreSQL y otras bases de datos a menudo truncan los registros. Cuando esto ocurre, el valioso contexto de las etiquetas de consulta (que se añaden al final por defecto) se corta, lo que dificulta el rastreo de qué parte de tu aplicación generó la consulta.

Al habilitar prepend_comment, las etiquetas de consulta se mueven al principio de la consulta SQL en lugar de al final. Esto garantiza que, incluso cuando las consultas se truncan en los registros, todavía podrás ver la información crítica de depuración, como los nombres de los controladores, los nombres de las acciones y la información del trabajo.

¿Cómo?

La función debe ser opcional y seguir el patrón de configuración existente de Discourse:

  1. Habilita las etiquetas de registro de consultas (si aún no están habilitadas): RAILS_QUERY_LOG_TAGS=1
  2. Habilita el comentario de prefijo: RAILS_QUERY_LOG_PREPEND_COMMENT=1

La función solo se activa cuando se cumplen ambas condiciones: las etiquetas de registro de consultas deben estar habilitadas y se debe establecer la bandera de comentario de prefijo. Esto mantiene la retrocompatibilidad y otorga a los operadores un control detallado sobre su configuración de registro.

PR de implementación: Add support for ActiveRecord::QueryLogs.prepend_comment by mudit-1996 · Pull Request #35888 · discourse/discourse · GitHub