2009-08-08 22 views
6

Il modo migliore per caricare i dati seme? Ho una tabella autore che è strettamente accoppiata con una tabella utenti. Ho anche migrazioni per modificare entrambe queste tabelle. Voglio aggiungere un utente amministratore predefinito, ma voglio assicurarmi che entrambe le tabelle vengano create e tutte le migrazioni siano state eseguite per queste tabelle prima dell'esecuzione delle migrazioni di CreateDefaultAdmin (o di qualsiasi altra cosa). C'è una buona pratica per fare questo? Scusa se questo è già stato chiesto.Migrazioni delle rotaie: caricamento dei dati predefiniti

risposta

11

Le opzioni disponibili:

  1. Utilizzare migrazioni come descritto qui: http://railspikes.com/2008/2/1/loading-seed-data
  2. utilizzare un terzo addon partito come: seed-fu o db-populate
  3. Utilizzare infissi, che viene delineato nella rotaie spike articolo.
  4. Attendere rotaie 3 e utilizzare il nuovo seeds.rb: http://github.com/rails/rails/commit/4932f7b38f72104819022abca0c952ba6f9888cb

Personalmente io uso una versione modificata yaml-db. Mi piace costruire tutti i miei dati di seed nel mio ambiente di sviluppo e tenerlo di nuovo nel mio repository, quando vado a vivere posso caricarlo con un rake task.

0

Cant lo basta creare le migrazioni separate e eseguirli in modo esclusivo

2

L'ultima (bordo?) Versione di Rails include un file db/seeds.rb in cui è possibile inserire il codice per creare record nel database. Fino ad allora le migrazioni sono la strada da percorrere, ma possono essere disordinate quando lo schema continua a cambiare (che è l'intero punto dei file di migrazione).

Problemi correlati