Sitemap
Arcangellmar

Arcangellmar

Software Engineer

Automatización de Scripts MySQL

2 min readJun 7, 2023

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:

Press enter or click to view image in full size
Arquitectura Batch de automatización

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:

  1. Log: Almacena los logs del sistema, archivos ejecutados correcta o incorrectamente, cantidad de archivos, etc.
  2. 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

--

--

Arcangellmar
Arcangellmar

Written by Arcangellmar

0 followers

Software Engineer