Qual è il modo migliore per gestire le modifiche al database? Ho bisogno di avere una soluzione indipendentemente dalla lingua del client del database. Inoltre mi piacerebbe essere in grado di utilizzare funzionalità specifiche del database in tali modifiche come stored procedure, trigger e così via.Il modo migliore per gestire le modifiche del database
risposta
Prima di tutto, assicurati di avere l'intero Database Build scriptato in modo da poter ricostruire il database se necessario.
Ogni modifica deve essere scritta come script di aggiornamento. In questo modo è possibile eseguire ogni modifica singolarmente rispetto ai propri database.
Una volta che la modifica è stata commessa nella base di codici, unire lo script di modifica con il processo di compilazione in modo che avvenga automaticamente ... e quindi archiviare lo script di modifica in caso di domande.
Beh, stiamo attualmente utilizzando toolbelt di Redgate, che contiene un database Confrontare, Confronto dati, ecc
È inoltre possibile utilizzare qualsiasi controllo del codice sorgente per tenere traccia delle modifiche a oggetti del database.
Non sei sicuro di cosa stai chiedendo qui, ma se è un buon modo per gestire le modifiche dello schema e tenerle sincronizzate tra versioni e distribuzioni, è difficile sbagliare con Visual Studio Database Edition. Il suo unico scopo nella vita è gestire le modifiche allo schema del database, convalidare lo schema, generare e generare script di distribuzione. Se si dispone di Visual Studio Developer Edition o Visual Studio Team Suite, è possibile ottenerlo gratuitamente.
Innanzitutto, inserire tutte le modifiche del database negli script e inserirli nel sistema di controllo del codice sorgente.
Successivamente rimuovere qualsiasi autorizzazione alla produzione che gli sviluppatori hanno. Esattamente due persone dovrebbero avere diritti sulla produzione in un negozio di piccole e medie dimensioni, il dba designato e il suo sostituto designato. Una volta che gli sviluppatori non possono apportare modifiche ai pungoli, sarà più facile convincerli a scrivere e utilizzare effettivamente gli script.
Non eseguire mai uno script su prod che non è stato caricato per la prima volta in QA o in staging. Se ci sono problemi con lo script, dovrebbe essere trovato a questo punto.
Usa idempotentchangescripts (e magari dare un'occhiata a LiquiBase o dbdeploy).
Nel mio caso, ho costruire uno script SH per questo lavoro:
https://github.com/reduardo7/db-version-updater
E uno script di MySQL:
- 1. Qual è il modo migliore per "ripristinare" le modifiche?
- 2. Il modo migliore per gestire un KeyNotFoundException
- 3. Il modo migliore per gestire l'unione JPA?
- 4. Il modo migliore per gestire le dipendenze di Android Gradle
- 5. Progettazione database: il modo migliore per mostrare le ore disponibili?
- 6. Qual è il modo migliore per memorizzare le modifiche ai record del database che richiedono l'approvazione prima di essere visibili?
- 7. modo migliore per gestire le eccezioni Java in ServletContextListener
- 8. Magento - Il modo migliore per gestire i moduli in blocchi?
- 9. Codice EFPrima di gestire le eccezioni del database durante il salvataggio delle modifiche
- 10. Esiste un modo migliore per gestire le stringhe localizzate?
- 11. Il modo migliore per gestire il pool di thread contro la coda di database
- 12. Il modo migliore per gestire i messaggi di errore
- 13. Il modo migliore per gestire le proprietà nulle su un parametro del metodo
- 14. Il modo migliore per gestire l'intervallo di 360 gradi
- 15. Il modo migliore per memorizzare un array nel database MySQL?
- 16. Il modo migliore per gestire l'autenticazione e le password dell'account utente
- 17. Il modo migliore per gestire snippet di codice in Linux?
- 18. Il modo migliore per migrare le modifiche di tabella alle tabelle di sailsjs di produzione
- 19. il modo migliore per gestire pyd/pdb flakiness re/stdout?
- 20. Usa PHP + jQuery AJAX per controllare il database MySQL per le modifiche e caricare le modifiche?
- 21. Git: il modo migliore per rimuovere tutte le modifiche da un determinato file per un ramo
- 22. Il modo migliore per gestire javascript all'interno dei controlli personalizzati?
- 23. Il modo migliore per gestire più costruttori in Java
- 24. Il modo migliore per gestire più connessioni NSURL
- 25. Utilizzare AJAX per visualizzare il database SQL per le modifiche
- 26. Il modo migliore per prevenire le frodi nell'app del marketplace?
- 27. Il modo migliore per fornire le impostazioni del software?
- 28. FragmentPagerAdapter - Come gestire le modifiche di orientamento?
- 29. Il modo migliore per gestire l'overflow integer in C#?
- 30. Qual è il modo migliore per gestire più azioni?
Se stai usando strumenti Red Gate, sarà essere in grado di utilizzare SQL Source Control per connettere il sistema di controllo del codice sorgente esistente a SQL Server tramite SSMS. –