Non è necessario conservare i vecchi file di migrazione in un'app Rails, poiché lo schema del database deve essere acquisito in schema.rb o in un file SQL equivalente che può essere utilizzato per rigenerare lo schema.
migrazioni non sono la fonte autorevole per lo schema del database. Tale ruolo ricade su db/schema.rb o su un file SQL che Active Record genera esaminando il database. Non sono progettati per essere modificati, rappresentano solo lo stato corrente del database.
Non è necessario (ed è soggetto a errori) per distribuire una nuova istanza di un app per riprodurre l'intera storia di migrazione. È molto più semplice e veloce caricare semplicemente nel database una descrizione dello schema corrente, che si trova in schema.rb o nel file SQL.
Questo file deve essere versionato e mantenuto nel controllo del codice sorgente.
Per impostare la generazione schema.rb automatica, modificare config/application.rb con l'impostazione config.active_record.schema_format
, che può essere: ruby o: sql. Se: viene selezionato ruby, lo schema viene memorizzato in db/schema.rb. Se: sql è selezionato, lo schema viene scaricato nel formato SQL nativo di nel database.
fonte
2013-11-21 11:19:28
possibile duplicato [E 'una buona idea per eliminare i file di migrazione vecchie rotaie ?] (http://stackoverflow.com/questions/4248682/is-it-a-good-idea-to-purge-old-rails-migration-files) – brainimus