Come posso mantenere il mio progetto di database visualstudio in sincronia con il mio database?

11

Mi piacerebbe avere lo schema del mio database sincronizzato con il mio progetto di database .dbproj di Visual Studio.

Al momento, sto usando SSMS per la maggior parte del mio lavoro di sviluppo del database, e devo usare manualmente lo strumento di confronto dello schema di Visual Studio quando ho bisogno che lo schema db e il .dbproj siano sincronizzati. Perché dovrei volerlo? perché:

  • È l'unico modo per controllare le modifiche
  • È l'unico modo per applicare le modifiche
  • In caso contrario, si verificheranno alcuni problemi di unione durante il recupero dei file (in pratica, se un "get latest" contiene alcune modifiche db sugli oggetti db che ho aggiornato senza controllarli, un'unione non verrà attivata e è facile tenere traccia di quale versione è quale)
  • È bello poter utilizzare le funzionalità di ricerca di VisualStudio su una versione aggiornata dello schema
  • È bello poter modificare le stored procedure da VS (in genere quando si è rinominato un file) utilizzando i risultati di ricerca.

Oltre all'automazione dello strumento "Confronta schema" per farlo funzionare ogni 5 minuti (che difficilmente suona come una soluzione "pulita"), ci sono modi per raggiungere questo obiettivo?

Mi piacerebbe continuare a usare SSMS se possibile, ma sono anche interessato a modi per propagare automaticamente le modifiche apportate usando "Server Explorer / Database connections" di visual studio a .dbproj.

    
posta Brann 06.07.2011 - 07:10
fonte

2 risposte

4

SQL Server Management Studio è principalmente uno strumento GESTIONE SQL Server e, come tale, non è necessariamente costruito per supportare gli scenari che stai cercando.

Edizione del database di Visual Studio Team System 2008 e Visual Studio Team System 2010 Pro / Ultimate include gli strumenti Database Developer (VSDB) per aiutare coloro che dispongono di estese risorse di database a integrare il loro schema di database / view / proc / etc. sviluppo con il loro sviluppo di app.

VSDB consente di eseguire il reverse engineering degli schemi di DB esistenti in progetti di Visual Studio in modo da poter controllare i file di script degli elementi per schema. È anche possibile modificare / creare script di schema di SQL Server per la creazione di praticamente tutti gli elementi dello schema supportati da SQL 2005/2008/2010.

VSDB supporta anche la possibilità di distribuire gli aggiornamenti di schema DB completi / parziali ai DB vuoti / esistenti dove fa una quantità enorme di lavoro per provare ad applicare solo le modifiche necessarie per modificare il DB esistente (se presente) in modo che rispecchi la struttura del progetto del database VSDB di origine.

VSDB include anche numerosi strumenti che consentono di confrontare gli schemi tra i progetti DB e / o DB e inoltre di diff e unire i contenuti della tabella.

Tuttavia, si noti che mentre questo set di strumenti è supportato oggi, il team è stato sciolto e il prodotto è in modalità di manutenzione. Il gruppo di prodotti di SQL Server ora è responsabile della creazione di strumenti per gli sviluppatori e sta lavorando sodo per farlo:)

    
risposta data 29.07.2011 - 21:07
fonte
1

ci sono due modi che conosco con le ultime caratteristiche di VS2010 per fare questo.

  1. Utilizzare SSMS o un altro strumento per modificare lo schema del DB, quindi eseguire lo schema di confronto periodicamente (fine del giorno) e quindi importare qualsiasi modifica dello schema nel progetto DB.
  2. Modifica i file nel progetto DB tramite VS e quindi crea un pacchetto di distribuzione che viene eseguito direttamente sul tuo DB o genera uno script per l'esecuzione per aggiornare lo schema nel DB.
risposta data 30.04.2012 - 23:32
fonte