Negli ultimi due mesi ho cercato soluzioni o pratiche per gestire la gestione dei rilasci all'interno dei database. Sto cercando ciò che le persone considerano il miglior processo per gestirlo.
Abbiamo 3 ambienti per i nostri database:
- sviluppo
- Test di accettazione degli utenti (UAT)
- Produzione
Il problema è che a volte stiamo apportando modifiche a diverse cose all'interno del nostro database di sviluppo e arriviamo il momento di implementare, alcune delle funzionalità potrebbero non essere pronte per essere rilasciate in UAT.
Recentemente abbiamo iniziato a utilizzare il controllo Origine SQL di Red Gate per l'archiviazione di tutte le nostre entità (con commit regolari).
Stavo pensando di basarmi sui changeset (cioè dire che tutto, dal changeset X e back è ora spinto a UAT) tuttavia, questo significa che le persone stanno solo controllando il loro codice nel controllo del codice sorgente prima di fare una distribuzione che può confondersi (soprattutto perché le persone sono smemorate). Un altro problema con l'approccio del changeset è che se c'è un bug in una stored procedure che deve essere corretto, il numero di changeset finirebbe per essere fuori dal nostro maxet changeset per la revisione, quindi fare in modo che se abbiamo bisogno di ricreare il database al di fuori di un changeset massimo, dovremmo rimandare il bug di nuovo.
Qualche suggerimento su un processo?
Grazie