C'è un "Sempre ricreare il database" nel file .sqldeployment del progetto. Se si deseleziona questa opzione, verrà generato uno script SQL generato automaticamente che aggiornerà il database in modo incrementale senza prima eliminarlo.
Esiste anche un'opzione per "Generare istruzioni DROP per gli oggetti presenti nel databse di destinazione ma che non si trovano nel progetto del database." Dovrai controllare questa opzione, se vuoi che le tabelle, i proc memorizzati ecc. Vengano eliminati se li hai cancellati nel progetto del database. Questo eliminerà qualsiasi tabella, ecc. Che gli utenti potrebbero aver creato da solo per test, debug, ecc.
Per modificare le opzioni nel file .sqldeployment. Apri il file in Visual Studio. Espandere il progetto del database in Solution Explorer, fare doppio clic sul file .sqldeployment (probabilmente si troverà nella cartella Proprietà del progetto DB). Oppure apri la pagina delle proprietà per il progetto del database e fai clic sul pulsante "Modifica ..." accanto al "File di configurazione della distribuzione". Seleziona o deseleziona le opzioni che desideri quando il database viene distribuito.
Io uso VSDBCMD.exe per 1-click build & distribuire gli script che ho creato. Funziona molto bene. VSDBCMD utilizza un file .sqldeployment: il file .sqldeployment predefinito viene specificato nel file .deploymanifest, ma può essere sovrascritto specificandolo come parametro durante l'esecuzione di VSDBCMD.Inoltre, credo che Visual Studio utilizzi VSDBCMD sotto le copertine quando distribuisce il progetto del database, ma presumo che sia il caso poiché la funzionalità è praticamente identica.
fonte
2010-05-24 23:07:51
Grazie per l'informazione Adam. Come vorresti quindi tenere traccia di ogni versione del DB durante la sua vita? Ad esempio, se ho rilasciato la versione 5 del DB, come posso eseguire il rollback alla versione 3? Devo salvare uno script di una linea di base e quindi salvare ciascuno di questi script di aggiornamento incrementale generati automaticamente? – littlechris
Aggiungiamo tutti i file SQL nel progetto DB VS2010 al controllo della versione e usiamo le etichette per tracciare ogni versione. Per eseguire il rollback alla versione 3, esegui la sincronizzazione con l'etichetta v3. Dovresti davvero usare la versione per il controllo del tuo database. Jeff Atwood ha scritto 2 articoli di blog sul controllo della versione del database che consiglio di leggere Il tuo database è sotto controllo di versione? zttp: //www.codinghorror.com/blog/2006/12/is-your-database-under-version-control.html Ottieni il tuo database con il controllo della versione http://www.codinghorror.com/blog/2008 /02/get-your-database-under-version-control.html –