Attualmente sto lavorando con un'applicazione di rotaie enorme e più rami con ciascuna una nuova funzionalità per questa applicazione. Succede molto che una funzionalità richiederà migrazioni, il che non dovrebbe essere un problema finché non lo si fonde con master: schema.rb è stato aggiornato con le informazioni del proprio database di sviluppo!schema.rb incasinato a causa di migrazioni in altri rami
per chiarire:
1. Branch A has migration create_table_x
2. Branch B has migration create_table_y
3. Branch A adds another create_table_z and runs db:migrate
4. You want to merge Branch A with Master and you see table_x, table_y and table_z in the schema.rb of Branch A.
Non è un'opzione per ripristinare + seminare il database prima di ogni migrazione in un ramo o di creare un database per ogni ramo. A causa dell'enorme dimensione dei dati SQL da 2 GB, non sarebbe fattibile.
La mia domanda:
E 'davvero necessario per mantenere schema.rb nel repository dal momento che viene ricostruito ogni migrazione?
In tal caso, è possibile creare uno schema fuori dalle migrazioni anziché dal dump del database?
Penso che dovresti conservare lo schema.rb nel tuo repository. Potrebbe succedere che qualcuno pulisca i file di migrazione ed elimini alcune migrazioni inutilizzate dal passato..e se non si dispone di uno schema.rb uniforme, potrei finire in un pasticcio. il file dello schema viene aggiornato ad ogni migrazione, non completamente ricostruito. ma comunque una domanda interessante. – Mattherick
sì, il problema è che si sta generando la struttura attuale del database, indipendentemente dal fatto che le tabelle nel database siano state aggiunte nel parent o nel ramo in cui ci si trova. Ecco cosa intendevo con "ricostruito". Spero che qualcuno conosca un modo più carino di copiare/copiare il database dal master ogni volta che si cambia ramo con le migrazioni :) – Vikko
Possibile duplicato di [Qual è il modo preferito per gestire schema.rb in git?] (Http: // stackoverflow .com/questions/737854/what-is-the-preferred-way-to-manage-schema-rb-in-git) – Tachyons