¿Estás cansado de hacer manualmente el control de origen de tus scripts de base de datos? ¿A menudo olvidas hacer el check-in de tus cambios? En este artículo, exploraremos cómo automatizar el proceso de hacer el check-in de los scripts de base de datos de SQL Server utilizando SQL Server Integration Services (SSIS).
Muchos desarrolladores se sienten más cómodos trabajando directamente en SQL Server Management Studio (SSMS) en lugar de utilizar Visual Studio para crear proyectos de base de datos y realizar cambios desde el entorno de desarrollo integrado de Visual Studio. Sin embargo, esto puede llevar al riesgo de olvidar hacer el check-in de los cambios de vuelta al sistema de control de origen.
Para abordar este problema, podemos utilizar SSIS para hacer automáticamente el check-in de los cambios que los desarrolladores pueden haber pasado por alto durante el día en el sistema de control de versiones. Esto puede ayudar a asegurar que todos los scripts de base de datos estén correctamente controlados y rastreados.
Prerrequisitos
Antes de comenzar, asegúrate de tener las siguientes instalaciones:
- Base de datos de ejemplo AdventureworksLT
- Permisos para la instancia de SQL Server donde se encuentra la base de datos de ejemplo AdventureworksLT
- VisualSVNServer instalado con permisos para acceder al repositorio
- Cliente TortoiseSVN en la máquina desde la cual se ejecutará el paquete SSIS
Configuración del Repositorio
Primero, necesitamos crear un nuevo repositorio utilizando el administrador de VisualSVN server. Este repositorio se utilizará para almacenar nuestros scripts de base de datos. Una vez creado el repositorio, podemos navegar por él y ver la estructura de carpetas.
Creación del Paquete SSIS
Ahora, revisemos el paquete SSIS que automatizará el proceso de hacer el check-in de los scripts de base de datos.
El paquete SSIS realiza los siguientes pasos:
- Obtiene la lista de objetos que han cambiado desde la última fecha de check-in
- Hace el check-out de la última copia de los scripts de base de datos desde SVN a una carpeta de trabajo
- Crea la estructura de carpetas si es necesario
- Para cada objeto obtenido en el paso 1, compara el script de la base de datos con el de la carpeta de trabajo
- Actualiza el script en la carpeta de trabajo si se identifican cambios
- Hace el check-in del código modificado y elimina la copia de trabajo
El paquete SSIS utiliza variables para almacenar la información necesaria, como la URL del repositorio SVN, el directorio de trabajo y la última fecha de check-in automático. Estas variables se pueden personalizar en función de la configuración de tu entorno.
El paquete también incluye varias tareas, como Execute SQL Task, Execute Process Task, Script Task, Foreach Loop y Data Flow Task, para realizar las operaciones requeridas.
Conclusión
Automatizar el proceso de hacer el check-in de los scripts de base de datos de SQL Server utilizando SSIS puede simplificar en gran medida el proceso de control de versiones y asegurar que todos los cambios estén correctamente rastreados. Al programar la ejecución del paquete diariamente, puedes asegurarte de que todos los cambios se hagan automáticamente sin el riesgo de olvidar hacerlo manualmente.
Existen diversas formas de implementar este proceso, dependiendo de las herramientas y lenguajes de programación disponibles para ti. Ya sea que elijas utilizar SSIS, Redgate SQL Compare o una aplicación de consola personalizada, la clave es asegurarte de que tu código de base de datos esté correctamente controlado en versión.
Recuerda probar el paquete antes de utilizarlo en un entorno de producción. Es posible que se requiera personalización para adaptarlo a tu configuración específica.
Referencias: