En un post anterior os hablaba de los Composite Projects, una característica de Visual Studio Database Edition que nos permite 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.
En esta ocasión os hablaré de una característica relacionada, los proyectos parciales.
Los proyectos parciales permiten compartir una misma implementación entre múltiples proyectos, manteniendo una única definición de la misma.
La característica podría ser similar a los shares que permite el gestor de fuentes SourceSafe.
Imagina un equipo de desarrollo que tiene una línea base que define el schema de la base de datos. A partir de esta línea base se crean nuevas base de datos según surgen las necesidades.
Cuando se crea una nueva definición a partir de la línea base, cada equipo coge la definición base y la incorpora (copy-paste) a su proyecto….pero claro, aunque las nuevas definiciones parten de la misma base, no tienen ninguna relación entre ellas y por ejemplo, un cambio en la línea base no se ve reflejado en el resto.
Los proyectos parciales es esto lo que te permiten, poder añadir ficheros de tu proyecto de base de datos que son de otro. La línea base debería exponer una determinada lista de ficheros que serán usando por el resto de proyectos.
Vamos a suponer un escenario muy sencillo, dónde tenemos dos proyectos de base de datos, uno con la definición de las tablas y otro con la definición de los procedimientos almacenados.
En el proyecto de las tablas, tendremos que exportar la definición de las mismas, para poder emplearlo dentro del proyecto de procedimientos.
Sobre Schemas>dbo>Tables, seleccionamos la opción de “exportar como proyecto parcial”.
Indicamos el nombre que queremos darle al fichero e indicamos que queremos que el fichero generado se añada dentro del proyecto de base de datos.
Una vez que tenemos el fichero generamos, sólo tenemos que incluirlo dentro del proyecto de procedimientos.
Como veréis, una vez importado, la nueva tabla os aparece (Schema View) como una tabla más del proyecto.