2010-08-03 11 views

risposta

6

Hai provato a creare un progetto composito? Non ho implementato questo scenario da solo ma sembrerebbe che tu possa:

  1. Creare project1 che consiste degli oggetti principali richiesti per tutte le distribuzioni.
  2. Creare il progetto2 che è costituito dall'insieme di viste richiesto per alcune distribuzioni.
  3. Aggiungere un riferimento a project1 in project2.

Pertanto, quando si distribuisce project1, le viste non vengono incluse e quando si distribuisce project2, le viste e gli oggetti core verranno inclusi.

Dai un'occhiata al seguente link Microsoft. In particolare la sezione intitolata "Usi e limiti delle Composite Projects"

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

7

ho finito per scrivere un piano di distribuzione modificatore personalizzato, controllato utilizzando le variabili sqlcmd specificano gli oggetti che non devono essere toccate durante la distribuzione. Ogni configurazione di progetto del database può fare riferimento a un diverso insieme di tali variabili (un file .sqlcmdvars), che può essere impostato nella scheda Distribuisci nelle proprietà del progetto.

Il modificatore di piano controlla il piano di implementazione ed elimina i passaggi che creano/modificano/eliminano oggetti che dovrebbero essere ignorati. Lo stiamo utilizzando per ignorare i file di dati (che hanno nomi diversi in vari ambienti di staging), alcune tabelle di backup e alcuni tipi di oggetti che non vengono mantenuti nel progetto DB (utenti, appartenenze ai ruoli, autorizzazioni a livello di database). La funzionalità è simile (ma più dettagliata) alla configurazione dello schema di confronto (tipi di oggetti ignorati), ma funziona durante la distribuzione (anche con VSDBCMD).

La parte "scrittura di un modificatore di piano di distribuzione personalizzato" può sembrare molto lavoro, ma in realtà è piuttosto semplice, ci sono voluti meno di un giorno, comprese le parti di apprendimento e di test. C'è un utile walkthrough on MSDN.

Problemi correlati