2010-08-03 7 views

Respuesta

6

¿Ha intentado crear un proyecto compuesto? No he implementado este escenario yo mismo, pero parece que podría:

  1. Crear proyecto1 que consta de los objetos centrales necesarios para todas las implementaciones.
  2. Crear proyecto2 que consiste en el conjunto de vistas requeridas para algunas implementaciones.
  3. Agregue una referencia al proyecto1 en project2.

Por lo tanto, al implementar project1, las vistas no se incluirían y al implementar project2, se incluirían tanto las vistas como los objetos centrales.

Eche un vistazo al siguiente enlace de Microsoft. En particular la sección titulada "Usos y limitaciones de Proyectos compuestos"

http://msdn.microsoft.com/en-us/library/dd193405.aspx

7

terminé escribiendo un modificador plan de implementación personalizada, controlada por el uso de variables de sqlcmd especificando los objetos que no deben tocarse durante el despliegue. Cada configuración de proyecto de base de datos puede hacer referencia a un conjunto diferente de esas variables (un archivo .sqlcmdvars); esto se puede establecer en la pestaña Implementar en las propiedades del proyecto.

El modificador de plan inspecciona el plan de despliegue y elimina los pasos que crean/modifican/eliminan objetos que deben ignorarse. Lo estamos usando para ignorar los archivos de datos (que tienen diferentes nombres en varios entornos de ensayo), algunas tablas de respaldo y algunos tipos de objetos que no conservamos en el proyecto de DB (usuarios, membresías de roles, permisos de nivel de base de datos). La funcionalidad es similar (pero más detallada) a la configuración de comparación de esquemas (tipos de objetos ignorados), pero funciona durante la implementación (también con VSDBCMD).

La parte "escribir un modificador de plan de despliegue personalizado" puede sonar como un montón de trabajo, pero en realidad es bastante simple, me llevó menos de un día, incluidas las partes de aprendizaje y prueba. Hay una muy útil walkthrough on MSDN.

Cuestiones relacionadas