Automatización de Scripts MySQL
Problema
Realizar un pase a producción de base de datos consta de ejecutar una cierta cantidad de scripts uno por uno en la base de datos destino, a veces cientos, pocas veces miles.
Pero la ejecución de estos puede llevar a ciertos errores, mal manejo de scripts, perdida de versiones, etc.
Por ello se necesita una herramienta que permita la ejecución controlada, rápida y facil de scripts. En esta primera versión se realiza solo de bases de datos MySQL (el batch no sera compatible con otros tipos de Bases de Datos).
Propuesta
La propuesta para este problema, es un batch que dado un folder de scripts y una base de datos ejecute uno por uno en orden alpha numerico los scripts del folder.
Se propone la siguiente arquitecura:
Es importante tener en cuenta que la herramienta no tendra un entorno grafico, solo pedira los datos que necesita y la salida del procesamiento sera un folder en la ruta del mismo proyecto.
Test
Get Arcangellmar’s stories in your inbox
Join Medium for free to get updates from this writer.
Dentro del proyecto tenemos el siguiente archivo config.json
{
"ServerDB": "<Tu Servidor>",
"DatabaseBD": "<Tu BD>",
"UserIDDB": "<Tu User>",
"PasswordDB": "<Tu Pass>",
"DirectorioArchivos": "<Tu folder de path scripts>"
}Debemos cambiar los datos solicitados por nuestros ambientes. Esa es la unica configuración, posterior a eso podemos ejecutar el archivo AutomatizacionScriptsMysql.exe.
La salida de la ejecución son dos carpeta a nivel del proyecto:
- Log: Almacena los logs del sistema, archivos ejecutados correcta o incorrectamente, cantidad de archivos, etc.
- Generado: Dependiendo de la ejecución del script (Exitoso o Fallido) y el numero de ejecución del batch (Autoincremento) se almacena una copia de los scripts para su control
Contribuir
Para contribuir al proyecto se puede realizar por el siguiente GitHub: https://github.com/Arcangellmar/AutomatizacionScriptsMysql
Conclusiones
Se brinda una herramienta de ejecución automatica de scripts MySQL con un control de archivos.
https://github.com/Arcangellmar/AutomatizacionScriptsMysql/releases/tag/Lastest



