Acabo de comenzar con Ruby y estoy jugando con Sinatra, pero no pude encontrar una manera de compartir las conexiones de base de datos entre las solicitudes.agrupación de conexiones de base de datos en ruby
Vengo del desarrollo web Java y una de las cosas básicas que tienes que hacer es agrupar las conexiones de la base de datos, así que estoy seguro de que algo similar existe en Ruby, pero simplemente no puedo encontrarlo.
ActiveRecord y DataMapper ofrecen esta característica, pero no necesito ORM y solo quiero hacer consultas regulares de SQL.
¿Hay algún método específico para Sinatra o hay formas generales para todas las aplicaciones basadas en rack?
Gracias, pero si creo una variable de instancia, cada vez que se crea el objeto de la aplicación, también se crea una nueva conexión, ¿verdad? Entonces, ¿cómo ayuda a compartir conexiones? – Nikoi
La aplicación no se cierra entre las solicitudes a menos que la cierre manualmente. La aplicación se carga y responderá a las solicitudes y persistirá su conexión a lo largo de su vida útil. Es lo mejor que sé para la agrupación de conexiones en Ruby. –
es probablemente una mala idea usar mysql2 directamente sin algún ORM como [Sequel] (http://sequel.rubyforge.org), [DataMapper] (http://datamapper.org) o [ActiveRecord] (http: // rubygems.org/gems/activerecord). En la mayoría de los casos, harán pooling automáticamente. Si "solo estás haciendo consultas SQL", tu aplicación acabará convirtiéndose en un desastre. Sequel es la mejor opción para acercarse lo más posible a SQL sin ir allí ya que el generador de consultas es bastante bueno. – tadman