Question Comment annuler une migration spécifique?


J'ai le fichier de migration suivant db\migrate\20100905201547_create_blocks.rb

Comment puis-je restaurer spécifiquement ce fichier de migration?


619
2017-09-05 20:30


origine


Réponses:


rake db:rollback STEP=1

Est un moyen de faire cela, si la migration que vous voulez restaurer est la dernière appliquée. Vous pouvez en remplacer 1 pour toutes les migrations que vous souhaitez effectuer.

Par exemple:

rake db:rollback STEP=5

Annulera également toute la migration qui a eu lieu plus tard (4, 3, 2 et 1).

Comme suggéré dans les commentaires:

Pour annuler une utilisation de migration spécifique:

rake db:migrate:down VERSION=20100905201547

992
2017-09-05 21:10



rake db:migrate:down VERSION=20100905201547

va restaurer le fichier spécifique.


Pour trouver la version de toutes les migrations, vous pouvez utiliser cette commande:

rake db:migrate:status

Ou simplement, le préfixe du nom de fichier de la migration est la version dont vous avez besoin pour revenir en arrière.


Voir l'entrée du guide Ruby on Rails sur les migrations.


800
2017-07-09 14:36



Pour annuler la dernière migration, procédez comme suit:

rake db:rollback

Si vous souhaitez annuler une migration spécifique avec une version, vous devez effectuer les opérations suivantes:

rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION

Par exemple si la version est 20141201122027, vous ferez:

rake db:migrate:down VERSION=20141201122027

pour annuler cette migration spécifique.


43
2017-12-02 07:26



rake db:migrate:down VERSION=your_migrations's_version_number_here

La version est le préfixe numérique du nom de fichier de la migration

Comment trouver la version:

Vos fichiers de migration sont stockés dans votre rails_root/db/migrate annuaire. Trouvez le fichier approprié vers lequel vous voulez revenir et copiez le numéro de préfixe.

par exemple

nom de fichier: 20140208031131_create_roles.rb alors la version est 20140208031131


24
2018-04-22 06:58



vous pouvez annuler votre migration en utilisant rake db:rollback avec différentes options.

Mais, en fonction de vos besoins, la syntaxe a changé.

Si vous voulez annuler la dernière migration, vous pouvez l'utiliser.

rake db:rollback

ou

rake db:rollback STEP=1

Si vous voulez réduire le nombre de migration en une fois, alors vous passez simplement l'argument

rake db:rollback STEP=n

n est le nombre de migrations pour l'annulation de la dernière migration.

Si vous souhaitez annuler une migration spécifique, vous devez transmettre la version de migration dans la syntaxe suivante.

rake db:migrate:down VERSION=xxxxx

où xxxxx est le numéro de version de la migration.


21
2018-03-24 07:54



Pour annuler la dernière migration, procédez comme suit:

rake db:rollback

Si vous souhaitez annuler une migration spécifique avec une version, vous devez effectuer les opérations suivantes:

rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION

Si le fichier de migration que vous voulez restaurer a été appelé db/migrate/20141201122027_create_some_table.rb, alors la VERSION pour cette migration est 20141201122027, qui est l'horodatage de la création de cette migration, et la commande permettant d'annuler cette migration serait la suivante:

rake db:migrate:down VERSION=20141201122027

13
2018-01-06 13:01



Rétablir la dernière migration:

# rails < 5.0
rake db:rollback

# rails >= 5.0
rake db:rollback
# or
rails db:rollback

Rolling back dernier n nombre de migrations

# rails < 5.0
rake db:rollback STEP=2

# rails >= 5.0
rake db:rollback STEP=2
# or
rails db:rollback STEP=2

Rétablir une migration spécifique

# rails < 5.0
rake db:migrate:down VERSION=20100905201547

# rails >= 5.0
rake db:migrate:down VERSION=20100905201547
# or
rails db:migrate:down VERSION=20100905201547

10
2017-09-20 12:16



S'il s'agit d'une migration réversible et la dernière qui a été exécutée, exécutez rake db:rollback. Et vous pouvez toujours utiliser la version. par exemple

le fichier de migration est 20140716084539_create_customer_stats.rb, donc la commande rollback sera, rake db:migrate:down VERSION=20140716084539


6
2017-07-28 10:36



Les migrations modifient l'état de la base de données à l'aide de la commande

$ bundle exec rake db:migrate

Nous pouvons annuler une seule étape de migration en utilisant

  $ bundle exec rake db:rollback

Pour remonter jusqu'au début, nous pouvons utiliser

  $ bundle exec rake db:migrate VERSION=0

Comme vous pouvez le deviner, la substitution de tout autre numéro pour 0 migre vers ce numéro de version, où les numéros de version proviennent de la liste séquentielle des migrations.


3
2018-05-06 20:11