Abbiamo un processo in cui i nostri script di tipi di database cambiano (e li versioni con Juneau) al nostro database di applicazioni fuori banda con la nostra base di codice. Sono bravi a tenere conto che le nuove colonne sono nulle e non cancellano i dati esistenti, ma a volte una colonna di rinomina si insinua in quella non completamente comunicata. Quindi apporteranno alcune modifiche allo schema del database su un server di test, aggiorneremo Entity Framework per lavorare con tali modifiche e quindi eseguiremo il nostro codice. Questo processo funziona correttamente, eccetto per quando è il momento di distribuire.Verificare che lo schema del database di destinazione sia conforme a quanto contenuto in Entity Framework?
Abbiamo impostato TFS per distribuire la build corretta sui server appropriati, ma non è garantito che il database per quell'ambiente sia stato aggiornato. Non ci interessa se campi extra/tabelle/viste/ecc. esistono nel database di destinazione, ma vogliamo modificare la build per verificare che il database contenga almeno tutto ciò di cui EF è a conoscenza.
Ho guardato this question, ma non ho bisogno che lo schema corrisponda esattamente. Inoltre, non vogliamo creare/modificare direttamente il database. E this question sembra che stia cercando di raggiungere un ideale simile, ma ancora non proprio quello che stiamo cercando di ottenere. Vogliamo solo un test di integrazione per verificare che la nostra versione di EF funzioni con lo schema di destinazione.
Sono completamente d'accordo sul processo di distribuzione, ma il tipo di database non si fida degli script di distribuzione generati tramite Juneau per automatizzare completamente lo scripting degli aggiornamenti del database. Pertanto, è necessario verificare che nessuno abbia apportato una modifica manuale al database di destinazione o che abbia applicato solo parzialmente uno script aggiornato. –