
Buenas,
a menudo sucede que cuando hablamos de la gestión del ciclo de vida del software, no tenemos en cuenta a la base de datos como un elemento que es parte de este ciclo de vida. En muchas ocasiones he visto como la gestión de la misma consiste en sacar un script con el esquema y almacenar el mismo en nuestro gestor de versiones de código fuente. Esta no es la mejor práctica que podría recomendar, pero si tenemos acceso al perfil de Base de Datos de Visual Studio, podremos hacer nuestro trabajo un poco mejor.
No quiero recorrer en un único post todas las capacidades de esta herramienta, pero si comentar que desde el 20 de Enero está liberada una nueva versión final que se puede descargar desde aquí y que desde el 1ro de Octubre de 2008 se incluye junto con la licencia MSDN de Visual Studio Team System Developer.
Pues bien, para comenzar a probar este set de herramientas, una de mis sugerencias es que comiencen a comparar sus bases de datos con VSTSDE. Para esto el siguiente tutorial muestra como realizar en pocos pasos una comparación y detallo también algunas de las opciones más interesantes que se pueden modificar.
Tutorial
1. Seleccionar el manu Data // Schema Compare // New Schema Comparison …
2. Un nuevo formulario se abrirá dentro del IDE, y en este momento deberemos seleccionar las bases de datos de origen y destino para realizar la comparación
Para este ejemplo útilizaré la base de datos AdventureWorks con una copia local modificada AdventureWorksNew.
03. Adicionalmente podemos especificar variables adicionales para el proceso de comparación utilizando el botón [SQLCMD Variables …] y además especificar las opciones para el proceso de comparación utilizando el botón [Options …]. Por ejemplo que collation se utilizará
Opciones generales de comparación
Tipos de objetos a comparar
etc.
04. Una vez definida las opciones, podemos comenzar el proceso de comparación. Este proceso puede tardar varios minutos dependiendo de la cantidad de objetos que existan en nuestra base de datos.
05. Cuando el proceso ha finalizado podemos ver el siguiente formulario, donde vemos los elementos de cada base de datos en 2 columnas y entre las mismas, el resultado de la comparación de ese objeto: drop, update, skip, etc. En la sección inferior podemos ver los SQL Scripts que definir a cada objeto y resaltados en el mismo, las diferencias que se han encontrado.
06. Dentro de las herramientas de comparación también podemos filtrar el resultado por resultado de comparación.
07. Y además es posible ver el script completo de actualización que incluye a todos los objetos que hayamos seleccionado en el formulario de comparación.
Como podeís ver, es muy simple de utilizar y seguramente nos ahorrará algún que otro dolor de cabeza. :D
Saludos @ Home
El Bruno
PD: el nombre completo del producto es Microsoft® Visual Studio Team System 2008 Database Edition GDR, y si como yo durante semanas no pudiste dormir intentando saber que mierda significa GDR, he aqui la respuesta: General Distribution Release.
Crossposting from ElBruno.com