Saber métodos que acceden a una tabla de la BBDD


#1

Hola,
¿Alguien conoce un método sencillo de saber cuales son los métodos que
realizan accesos a una tabla de la BBDD de una aplicación?

Explico un poco mi caso por si pudiera aclarar algo, tengo que agregar
una
funcionalidad para hacer una especie de man in the middle con la tabla
de
usuarios de una aplicación pero me gustaría saber de algún modo si la
función que he “puenteado” es la única que realiza escrituras sobre
dicha
tabla.

Soy bastante nuevo en todo esto, pero google no me ha querido contar
nada.


#2

No entiendo demasiado bien que es lo que intentas hacer pero en los logs
de
Rails deberían aparecerte todas las consultas que realiza. Para verlo en
“directo” tail -f log/development.log
Espero que te sirva.

2009/6/1 David González removed_email_address@domain.invalid


#3

2009/6/1 David González removed_email_address@domain.invalid

Soy bastante nuevo en todo esto, pero google no me ha querido contar nada.
Podrías ser un poco más explicativo. Algo en plan. ¿Qué quieres hacer?
¿Por
qué? ¿Qué has hecho? ¿Qué problemas has tenido? ¿Como los has
solucionado?

Dices que has, segun entiendo, “puenteado”, comúnmente conocido como
monkeypatch (si no me equivoco), pero ni siquieras dices el que has
“puenteado” AR::Base.execute ?

Con la info que das, me cuesta entender que es exactamente lo que
quieres.

Un Saludo.


#4

¿Alguien conoce un método sencillo de saber cuales son los métodos que
realizan accesos a una tabla de la BBDD de una aplicación?

puedes bajarte el plugin
http://github.com/technoweenie/masochism/tree/master

es un plugin para trabajar con bases de datos en modo master/slave. El
plugin se coloca igual que quieres tú como “man in the middle” de todas
las escrituras para hacer que todo lo que vaya a modificar la base de
datos se procese por master.

el código es muy simple (crea la conexión master y define unos delegate)
y lo puedes adaptar fácilmente para lo que necesites.

yo lo tengo en producción y es cierto que con los métodos que delega se
cubren todas las escrituras que hace rails

suerte,

j


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#5

Descripción del problema al detalle:
Estoy modificando el fuente de Breakout una aplicación de gestión de
equipos
y proyectos informáticos. El caso es que quiero que en la autenticación,
antes de autenticarse contra la BBDD local haga una autenticación previa
contra un servidor LDAP, si el usuario está en el servidor LDAP pero no
en
la BBDD Breakout lo dará de alta automaticamente para que pueda utilizar
la
aplicación, si está ya en la BBDD de Breakout le dejará utilizar la
aplicación directamente.
Para conseguirlo he modificado el controlador usuario introduciendo una
función de autenticación contra LDAP que se llama desde dentro de la
función
autenticación original de la aplicación.
Por el diseño de la aplicación y gracias a las virtudes de RoR entiendo
que
no debería generar ningún problema en el uso de la aplicación, ya que en
caso de tener que introducir el usuario utilizo los métodos originales
de la
aplicación, pero me gustaría contar con alguna manera (tipo prueba
unitaria)
que me lo certifique, por eso quería saber que métodos acceden a la
tabla
usuarios que es al fin y al cabo la única sobre la que hago cosas aunque
para realizar las inserciones y demás utilizo las funciones originales
de
breakout.

¿Os sirve de algo la información así? menudo ladrillazo de texto.

El 2 de junio de 2009 0:20, javier ramirez removed_email_address@domain.invalid
escribió:


#6

por eso quería saber que métodos acceden a la tabla usuarios

que es justamente lo que te contaba en el mensaje al que
estáscontestando y que no parece que hayas leído


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#7

2009/6/2 David González removed_email_address@domain.invalid

Lo siento Javier, lo pruebo y comento, respondía a la gente de mas arriba
en el hilo que preguntaban por más información :wink:

Intentaré poner el plugin en marcha esta noche si soy capaz que soy
bastante novato en esto.

Si entendí tu problema bien, quizás este plugin te sirva

http://github.com/ntalbott/query_trace/tree/master


#8

Lo siento Javier, lo pruebo y comento, respondía a la gente de mas
arriba en
el hilo que preguntaban por más información :wink:

Intentaré poner el plugin en marcha esta noche si soy capaz que soy
bastante
novato en esto.

El 2 de junio de 2009 15:00, javier ramirez removed_email_address@domain.invalid
escribió: