Sono un ingegnere di costruzione e responsabile del layout del controllo sorgente. Dobbiamo mantenere una versione di tutti gli oggetti del database e anche raggruppare le modifiche insieme agli script di rollback per i push alla produzione. Abbiamo ambienti di sviluppo, controllo qualità e produzione e ci sono diverse versioni degli oggetti del database in ciascuno. Un'area in cui abbiamo problemi è con la tabella crea vs gli alter. Gli sviluppatori controlleranno gli alter ma per ricreare il database che ci serve per creare. Qualsiasi idea sarebbe apprezzata.Script SQL in Subversion
risposta
Questo articolo dovrebbe rispondere la maggior parte se non tutte le domande
http://odetocode.com/Blogs/scott/archive/2008/01/30/11702.aspx
Questo articolo fondamentalmente mi chiede nuovamente la mia domanda, la sezione 3 è ciò che sto cercando di realizzare. Sto cercando una struttura e/o un processo che mi permetta di eseguire la versione dei miei database e soddisfare gli altri vincoli della mia domanda. Grazie per l'articolo –
lmgtfy "site: odetocode.com versioning del database" sembra abbastanza promettente – dotjoe
Questo sito contiene una grande quantità di informazioni su problemi relativi al controllo delle versioni, ci vuole un po 'per condividerle insieme, ma vale la pena dare un'occhiata. Grazie –
Si dovrebbe esaminare come framework come rotaie di gestire le migrazioni
http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations
Non sono davvero alla ricerca di modi per generare il database solo i modi per la versione e tenere traccia di ciò che sta accadendo con esso. –
Se si utilizzano le migrazioni, tutto verrà inserito in sovversione e sarà possibile utilizzarlo per tenere traccia di tutto. Inoltre è un modo molto interessante per gestire le modifiche ai DB. Non credo di aver capito completamente i tuoi problemi, ho pensato – marcgg
Sono un grande fan di http://www.liquibase.org/. Ti consente di tenere traccia delle versioni del tuo database, inclusa la possibilità di "aggiornare" e "rollback" il tuo schema/dati.
Hanno un bel sintassi XML che ha sfornato il supporto per refactoring comuni, compresi quelli descritti nel http://databaserefactoring.com/
Essi hanno anche plugin Eclipse per aiutare a creare gli script di cambiamento, e la formica compito di per integrare nella vostra build.
La mia unica lamentela è che è basato su Java e mi piace installare java sul mio build server per progetti .NET. In quel caso ho sentito cose positive su http://code.google.com/p/migratordotnet/.
Ho votato perché mi piace il collegamento a migratordotnet. Dovrò esaminare in particolare il compito di MSBuild. Grazie –
ti posso consigliare tale scenario:
- Dbunit per la popolazione di dati (ad esempio dizionari, masterdata e altre informazioni di database critico)
- Liquibase di dbdeploy per il refactoring del database. Nella mia mente, liquibase è più strumento orientato al refactoring e dbdeploy - più orientato ai processi (vale a dire bisogna fare di più con le mani, ma semplifica lo sviluppo, i test e il processo di supporto alla produzione).
Se la società utilizza ORM, è possibile creare al volo lo schema di database "diff" basato sul motore ORM. Inoltre, se il tuo prodotto funziona con diversi database, avrai un ulteriore livello di complessità. Sfortunatamente, né dbdeploy, né liquiase mi hanno soddisfatto dello sviluppo/refactoring dei database multipli.
- 1. MSDeploy con script sql
- 2. Script nibernati e sql
- 3. Script SQL per creare script di inserimento
- 4. genera script sql
- 5. specificare server script SQL
- 6. Esegui script SQL Server
- 7. Cartelle ostruite in Subversion
- 8. Convertire lo script MySQL in SQL Server
- 9. lettura script sql esterno in python
- 10. Formato script SQL in Visual Studio 2012
- 11. Se condizionale in SQL Script per Mysql
- 12. SQL * Plus non esegue script SQL che SQL Developer fa
- 13. Interruzione dell'esecuzione di script sql
- 14. Cambia autore di vecchi commit in Subversion
- 15. Script intero database SQL-Server
- 16. Shell Script e SQL risultati
- 17. Torna alla revisione in Subversion
- 18. come disabilitare subversion in netbeans
- 19. Single file merge in Subversion
- 20. Subversion 'unadd'?
- 21. Qualsiasi strumento per esportare l'intero DB Oracle come script SQL
- 22. valore restituito da script SQL per shell script di
- 23. Ricerca di script T-SQL per eliminare un lavoro SQL
- 24. Come eseguire lo script sql utilizzando SQL Server Management Studio?
- 25. Abilita/Disabilita agente SQL Server utilizzando uno script t-sql
- 26. SQL * Plus all'interno dello script Perl
- 27. Subversion Exclusive Checkout e Subversion Plugin per Delphi
- 28. Script SQL: esiste l'equivalente di #define?
- 29. SQL più veloce 'GROUP BY' script
- 30. inserisci un BLOB tramite uno script sql?
In realtà non sono sicuro di cosa intendi per "Un'area in cui ci sono problemi è con la tabella crea contro chi altera, gli sviluppatori controlleranno gli alter ma per ricreare il database di cui abbiamo bisogno.", Potresti essere più specifico? – marcgg
Penso che significhi che controllano un file di codice SQL per un SP che inizia con "ALTER PROC", ma usano/hanno bisogno di "CREATE PROC" in modo da poter creare il DB da zero. – Paul
Questo è esattamente quello che intendevo @Paul grazie per il chiarimento. –