CPAN to the rescue!
Hoy me han pedido que borre una serie de registros de una base de datos, concretamente sin saber nada de esto:
- Qué base de datos es, y ese servidor tenía varias.
- Sin conocer las tablas, ni las dependencias entre ellas.
Vamos, un marroncillo, de esos que con un poco de ingenio se solucionan muy fácil.
Lo de encontrar la tabla ha sido fácil, porque era una extensión de Typo3 programada en buenas condiciones (con DAO para los datos), así que identificar la base de datos no ha sido traumático ojeando la clase DAO en cuestión. Pero mirando la base de datos... ¡hay muchas tablas!
Así que he buscado un poco, y AutoDia parecía una solución interesante: me conecto con esta herramienta al MySQL, y que me haga un bonito diagrama con las tablas para ver dónde buscar y qué borrar (sin ser perfecto, porque al trabajar con tablas MyISAM no hay integridad referencial, y lo de las claves ajenas no aparece :S).
Genial, aunque no está empaquetado para la distribución con la que trabaja el servidor (y el MySQL no escucha al exterior), está hecho en Perl y sigue el esquema estándar:
$ perl Makefile.pl $ make # make install
Pero... ¿qué pasa sin pide Template y XML::Simple (el make nos avisará adecuadamente), y uno de ellos no está empaquetado en nuestra distribución? Pues que usamos CPAN y listo.
Pero CPAN no es solo ese interfaz web a un archivo con mucho Software Libre, sino que también es una herramienta para instalar cualquier cosa del archivo en nuestro sistema.
Así que, ni corto ni perezoso, he ejecutado:
# cpan -i Template XML::Simple
La herramienta me hace algunas preguntas fáciles de contestar (por prudencia he creado /var/cpan para que trabaje en ese directorio para construir los módulos, guardar ahí el caché de búsquedas, etc), y el proceso acaba con los dos componentes instalados.
Ya solo queda usar autodia.pl, obtener un bonito digrama que va a parar a la impresora, y en 5 minutos había localizado en papel las referencias entre tablas para borrar lo que me habían pedido.
Bueno, en realidad es según ser mire, pero para mi CPAN saved the day!
Nota: es cierto que podría haber instalado AutoDia en mi Ubuntu y haber hecho un túnel SSH al MySQL, pero a veces no pensar es más rápido. De hecho he tardado más en escribir esta anotación que en resolver lo que me pedían :P.
Hay 2 comentarios
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.


por un visitante, en 2008-11-26 18:23:51 ∞