Migrazioni di rails perché puntano a uno schema di tabelle e campi, invece di una rappresentazione database completa che include stored procedure, funzioni, dati seme.
Quando si esegue rake db: setup, questo creerà il db, caricherà lo schema e quindi caricherà i dati seme.
alcune soluzioni da prendere in considerazione:
Choice 1: creare il proprio compito rake che fa queste migrazioni indipendenti della migrazione Rails su/giù. Le Rails Migrations sono solo normali classi e puoi utilizzarle come preferisci. Per esempio:
rake db:create_sequence
Scelta 2: eseguire la migrazione specifica dopo aver caricato lo schema come questo:
rake db:setup
rake db:migrate:up VERSION=20080906120000
Scelta 3: creare la sequenza come dati di semi, perché è essenzialmente fornendo dati (piuttosto che alterazione dello schema).
db/seeds.rb
Scelta 4 e la mia preferenza personale: corrono le migrazioni fino ad un buon punto di nota, tra cui la sequenza, e salvo che database vuoto. Change rake db: setup per clonare quel database vuoto. Questo è un po 'più complicato e sacrifica alcune funzionalità - avendo tutte le migrazioni reversibili, avendo le migrazioni lavoro in cima a più fornitori di database, ecc. Nella mia esperienza questi sono dei buoni compromessi. Ad esempio:
rake db:fresh #=> clones the blank database, which you store in version control
Che versione di rotaie e db stai usando? –
@Sergio Postgres 9.0 –
@Kevin - quale versione di Rails stai usando? –