Procedimientos almacenados y ruby

Saludos a todos

Este mensaje es para preguntarles si se puede trabajar con
procedimientos almacenados de mysql, tengo una base de datos en la cual
ejecuto un procedimiento almacenado
y me devuelve mis datos ya procesados con joins de varias tablas.

se puede llamar procedimientos almacenados desde rails??

y como recibes el resultado?

gracias

Hola Jaime,

Por lo poco que he entendido no existe una manera “Rails” de hacerlo,
hay que realizar algunas adaptaciones, esto está descrito en el wiki :

http://wiki.rubyonrails.com/rails/pages/StoredProceduresInMySql

Te soy sincero, no lo he probado.

El objetivo de un procedimiento almacenado (stored procedures) es
encapsular funcionalidad dentro de la base de datos, y ActiveRecord hace
precisamente lo opuesto, encapsula funcionalidad fuera de la base de
datos, no obstante esto no nos detiene a poder llamar stored procs :

ActiveRecord::Base.connection.execute(“sp_call()”)

Si el stored proc devuelve un resultado :

ActiveRecord::Base.connection.select_all(“sp_call()”)

Tampoco lo he probado.

Espero te sirva.


Jaime Mora R.

Jaime S. wrote:

Saludos a todos

Este mensaje es para preguntarles si se puede trabajar con
procedimientos almacenados de mysql, tengo una base de datos en la cual
ejecuto un procedimiento almacenado
y me devuelve mis datos ya procesados con joins de varias tablas.

se puede llamar procedimientos almacenados desde rails??

y como recibes el resultado?

gracias


Ror-es mailing list
[email protected]

El Viernes, 15 de Diciembre de 2006 16:18, Jaime Mora R. escribió:

El objetivo de un procedimiento almacenado (stored procedures) es
encapsular funcionalidad dentro de la base de datos, y ActiveRecord hace
precisamente lo opuesto, encapsula funcionalidad fuera de la base de
datos, no obstante esto no nos detiene a poder llamar stored procs :

Efectivamente. Y te aconsejo que leas un artículo de DHH titulado
“Choose a
single layer of cleverness”, para comprender mejor la filosofía de
ActiveRecord.

Es importante que cuando trabajemos con una herramienta, intentemos
entender
la filosofía y las ideas básicas en las que se basa. Eso no quiere decir
que
no uses procedimientos almacenados si lo necesitas, pero plantéate si
realmente no habrá un modo más “rails” de conseguir lo que quieres.

Un saludo.

[1] http://www.loudthinking.com/arc/000516.html

Efectivamente. Y te aconsejo que leas un artículo de DHH titulado
“Choose a
single layer of cleverness”, para comprender mejor la filosofía de
ActiveRecord.

Interesante artículo. DHH comentó lo siguiente :

“Los procedimientos almacenados asumen una parte de la lógica de
negocios, mientras que otra parte se deja en el modelo de dominio. Esto
propicia un entorno mucho más díficil para realizar pruebas unitarias,
control de versión, y el mantenimiento.”

Gracias … saludos

Jaime Mora R.