Après avoir ajouté des fichiers de migration dans le dossier db/migrate
et exécuté rake db:migrate
, je souhaite revenir à l’étape précédente. Je pense que l’utilisation de VERSION=n
est la bonne façon de procéder, mais je ne connais pas la valeur correcte de n à utiliser. Existe-t-il une commande pour vérifier la valeur n actuelle?
Ce serait formidable si quelqu'un pouvait fournir des instructions complètes sur l'utilisation de rake db:migrate
.
Pour commencer
rake db:rollback
vous fera revenir en arrière
puis
rake db:rollback STEP=n
Vous annulerez les migrations n
où n
correspond au nombre de migrations récentes que vous souhaitez annuler.
Plus de références ici .
Annulez la dernière migration:
rake db:rollback
Annulez les dernières migrations n
:
rake db:rollback STEP=n
Vous trouverez des instructions complètes sur l'utilisation des tâches de migration Rails pour rake dans le Guide Rails pour l'exécution de migrations .
En voici d'autres:
rake db:migrate
- Exécuter toutes les migrations qui n'ont pas encore été exécutéesrake db:migrate VERSION=20080906120000
- Exécute toutes les migrations nécessaires (vers le haut ou vers le bas) pour accéder à la version donnéerake db:migrate Rails_ENV=test
- Exécuter les migrations dans l'environnement donnérake db:migrate:redo
- Annule une migration et l'exécute à nouveaurake db:migrate:redo STEP=n
- Annule les dernières migrations n
et les réexécuterake db:migrate:up VERSION=20080906120000
- Exécuter la méthode up
pour la migration donnéerake db:migrate:down VERSION=20080906120000
- Exécuter la méthode down
pour la migration donnéeEt pour répondre à votre question sur l’obtention du numéro de version d’une migration:
La version est le préfixe numérique du nom de fichier de la migration. Pour Par exemple, pour migrer vers la version 20080906120000, exécutez
$ rake db:migrate VERSION=20080906120000
(De Running Migrations dans les guides Rails)
Le meilleur moyen est d'exécuter à nouveau une migration particulière en utilisant down ou up (dans Rails 4. Cela change)
Rails db: migrate: up VERSION = horodatage
Maintenant, comment vous obtenez l'horodatage . Allez sur ce chemin
/ db/migrate
Identifiez le fichier de migration que vous souhaitez rétablir. Sélectionnez le timestamp à partir de ce nom de fichier.
D'autres personnes vous ont déjà expliqué comment effectuer une restauration, mais vous avez également demandé comment identifier le numéro de version d'une migration.
rake db:migrate:status
donne une liste de la version, du nom et du statut de votre migration (en haut ou en bas)/db/migrate
Si la version est 20150616132425
, utilisez:
Rails db:migrate:down VERSION=20150616132425