Έχω το ακόλουθο αρχείο μετανάστευσης db\migrate\20100905201547_create_blocks.rb
Πώς μπορώ συγκεκριμένα να επαναφέρω αυτό το αρχείο μετανάστευσης;
rake db:rollback STEP=1
Είναι ένας τρόπος για να το κάνετε αυτό, αν η μετάβαση που θέλετε να επαναφέρετε είναι η τελευταία που εφαρμόστηκε. Μπορείτε να αντικαταστήσετε το 1 με όσες μεταναστεύσεις θέλετε να πάτε πίσω.
Για παράδειγμα:
rake db:rollback STEP=5
Θα επαναφέρει επίσης όλες τις μετακινήσεις που έγιναν αργότερα (4, 3, 2 και επίσης 1).
Για να ανατρέψετε όλες τις μεταναστεύσεις μέχρι (και συμπεριλαμβανομένης) μιας μετανάστευσης-στόχου, χρησιμοποιήστε: (Αυτή η διορθωμένη εντολή προστέθηκε ΜΕΤΑ από όλα τα σχόλια που υποδείκνυαν το λάθος στην αρχική δημοσίευση)
rake db:migrate VERSION=20100905201547
Για να επαναφέρετε ΜΟΝΟ ΜΙΑ συγκεκριμένη μετανάστευση (ΕΚΤΟΣ ΣΕΙΡΑΣ) χρησιμοποιήστε:
rake db:migrate:down VERSION=20100905201547
Σημειώστε ότι αυτό ΔΕΝ θα ανατρέψει καμία ενδιάμεση μετανάστευση -- μόνο αυτή που αναφέρεται. Αν δεν είναι αυτό που σκοπεύετε, μπορείτε να εκτελέσετε με ασφάλεια το rake db:migrate
και θα επαναλάβει μόνο αυτή, παραλείποντας οποιεσδήποτε άλλες που δεν είχαν προηγουμένως ανακυκλωθεί.
rake db:migrate:down VERSION=20100905201547
θα επαναφέρει το συγκεκριμένο αρχείο.
Για να βρείτε την έκδοση όλων των μεταναστεύσεων, μπορείτε να χρησιμοποιήσετε αυτή την εντολή:
rake db:migrate:status
Ή, απλά το πρόθεμα του ονόματος του αρχείου της μετανάστευσης'είναι η έκδοση που πρέπει να επαναφέρετε.
Δείτε το λήμμα του οδηγού Ruby on Rails σχετικά με τις μεταναστεύσεις.
Μπορείτε να επαναφέρετε τη μετάβασή σας χρησιμοποιώντας το rake db:rollback
με διαφορετικές επιλογές. Η σύνταξη θα είναι διαφορετική ανάλογα με τις απαιτήσεις σας.
Αν θέλετε να ανατρέψετε μόνο την τελευταία μετανάστευση, τότε μπορείτε να χρησιμοποιήσετε είτε το
rake db:rollback
ή
rake db:rollback STEP=1
Αν θέλετε να ανατρέψετε αριθμό μεταναστεύσεων ταυτόχρονα, τότε απλά περνάτε ένα όρισμα:
rake db:rollback STEP=n
όπου n
είναι ο αριθμός των μεταναστεύσεων που θέλετε να επαναφέρετε, μετρώντας από την τελευταία μετανάστευση.
Αν θέλετε να κάνετε rollback σε μια συγκεκριμένη μετάπτωση, τότε θα πρέπει να περάσετε την έκδοση της μετάπτωσης στα ακόλουθα:
rake db:migrate:down VERSION=xxxxx
όπου xxxxx είναι ο αριθμός έκδοσης της μετάβασης.