Ho il seguente file di migrazione `db\migrate20100905201547_create_blocks.rb
Come posso fare specificamente il rollback di quel file di migrazione?
rake db:rollback STEP=1
È un modo per farlo, se la migrazione che vuoi fare il rollback è l'ultima applicata. Puoi sostituire 1 con quante migrazioni vuoi tornare indietro.
Per esempio:
rake db:rollback STEP=5
Effettuerà anche il rollback di tutte le migrazioni avvenute in seguito (4, 3, 2 e anche 1).
Per eseguire il rollback di tutte le migrazioni fino a (e includendo) una migrazione di destinazione, utilizzare: (Questo comando corretto è stato aggiunto DOPO tutti i commenti che sottolineavano l'errore nel post originale)
rake db:migrate VERSION=20100905201547
Per eseguire il rollback di una sola migrazione specifica (FUORI ORDINE) usare:
rake db:migrate:down VERSION=20100905201547
Nota che questo NON farà il rollback di nessuna migrazione intermedia -- solo quella elencata. Se questo non è quello che volevi, puoi tranquillamente eseguire rake db:migrate
ed eseguirà nuovamente solo quella, saltando tutte le altre che non sono state precedentemente rollbackate.
rake db:migrate:down VERSION=20100905201547
farà rollback del file specifico.
Per trovare la versione di tutte le migrazioni, puoi usare questo comando:
rake db:migrate:status
Oppure, semplicemente il prefisso del nome del file della migrazione è la versione di cui hai bisogno per il rollback.
Vedere la voce della guida Ruby on Rails sulle migrazioni.
Puoi fare il rollback della tua migrazione usando rake db:rollback
con diverse opzioni. La sintassi sarà diversa a seconda delle tue esigenze.
Se vuoi fare il rollback solo dell'ultima migrazione, allora puoi usare
rake db:rollback
o
rake db:rollback STEP=1
Se vuoi fare il rollback di un certo numero di migrazioni in una sola volta, allora devi semplicemente passare un argomento:
rake db:rollback STEP=n
dove n
è il numero di migrazioni di cui fare il rollback, contando dall'ultima migrazione.
Se vuoi fare il rollback di una migrazione specifica, allora dovresti passare la versione della migrazione nel seguente modo:
rake db:migrate:down VERSION=xxxxx
dove xxxxx è il numero di versione della migrazione.