Livello di ricostruzione del database in una routine di build giornaliera
-
07-07-2019 - |
Domanda
Sto progettando una routine di compilazione giornaliera per il mio progetto. Stiamo usando Flex 3 e SQL Server 2005. Non sono sicuro di quanto dovrei ricostruire il database su una build giornaliera. Dovrei eliminare tutte le tabelle e le procedure memorizzate e aggiungerle di nuovo? Quindi dovrei avere uno script che riporti tutti i dati predefiniti nelle tabelle.
O dovrei avere il DBA scrivere script Alter che vengono eseguiti solo quando vengono apportate modifiche e concentrarsi sulla costruzione del codice su base giornaliera?
Soluzione
Questo dipende davvero dalla tua attuale fase di sviluppo del progetto.
Durante lo sviluppo attivo senza distribuzioni di produzione, la cosa semplice da fare è semplicemente rilasciare e ricreare il database ogni volta. In questo modo il codice e il database dovrebbero essere sincronizzati, soprattutto se si stanno eseguendo test di unità. Questo sta fondamentalmente facendo una costruzione del tronco, cioè l'ultima e la più grande. È molto più semplice da mantenere. Lo scripting dei dati predefiniti è semplice ed è un ottimo modo per avere una configurazione pulita quando ne hai bisogno. Dai un'occhiata alla sp_ generate_inserts
per una bella utility per lo script i dati da un database esistente.
Una volta che hai database di produzione e modificherai il tuo database con le versioni di codice, è importante testare anche gli script di modifica. Gli script di modifica tendono a essere un po 'più difficili da scrivere a causa di dipendenze e considerazioni sulla manipolazione dei dati.
Altri suggerimenti
Rilasciali e ricrearli. Con alter c'è sempre la possibilità di dimenticare un cambiamento intermedio.