Data Dude: Composite Projects
Ya hace unas semanas que coincidí con Juan Irigoyen en una charla en Santander, dónde nos habló de VStudio Database Edition 2010
Una de las características que quedaron fuera y que me parece interesante comentar son los Composite Projects.
La idea es muy sencilla; poder dividir base de datos grandes y complejas en múltiples proyectos de base de datos, dependientes unos de otros, y que pueden desplegarse todos a la vez.
Simplificando, se podría decir que son como las referencias de los proyectos tradicionales de VStudio, pero llevado al mundo de las base de datos.
Por ejemplo, podrías tener un proyecto de base de datos que contenga la definición de tus tablas y vistas y en otro proyecto tener los procedimientos y funciones que atacan tu base de datos.
Esta situación, que en proyectos grandes podría ayudar a tener más organizada la base de datos, también podrías servirnos, por ejemplo, para establecer diferentes niveles de seguridad….por ejemplo, nos puede interesar que cierto grupo de desarrolladores cree los procedimientos almacenados pero que no puedan hacer cambios en el schema de la base de datos. Si lo separamos en proyectos, podemos dar diferentes permisos de acceso.
Como veis en la imagen se puede enlazar con otro proyecto de base de datos que esté dentro de la misma solución o contra un fichero .dbschema generado por un proyecto de base de datos que se encuentra en otra ubicación.
Cuando se despliega el proyecto principal sobre la base de datos, antes de desplegarlo se despliegan sus dependencias. Si están configurados para que se desplieguen en la misma base de datos, el resultado final serán una base de datos que contenga el contenido de todos los proyectos de base de datos.