Come fare il rollback di una migrazione specifica?
Ho il seguente file di migrazione `db\migrate20100905201547_create_blocks.rb
Come posso fare specificamente il rollback di quel file di migrazione?
759
3
È 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:
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)
Per eseguire il rollback di una sola migrazione specifica (FUORI ORDINE) usare:
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.farà rollback del file specifico.
Per trovare la versione di tutte le migrazioni, puoi usare questo comando:
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
o
Se vuoi fare il rollback di un certo numero di migrazioni in una sola volta, allora devi semplicemente passare un argomento:
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:
dove xxxxx è il numero di versione della migrazione.