¿Cómo puedo revertir una migración específica?

Resuelto AnApprentice asked hace 14 años • 20 respuestas

Tengo el archivo de migración db\migrate\20100905201547_create_blocks.rb .

¿Cómo puedo revertir específicamente ese archivo de migración?

AnApprentice avatar Sep 06 '10 03:09 AnApprentice
Aceptado
rake db:rollback STEP=1

Es una forma de hacer esto, si la migración que desea revertir es la última que se aplicó. Puedes sustituir 1 por cuantas migraciones quieras volver.

Por ejemplo:

rake db:rollback STEP=5

También revertirá toda la migración que ocurrió después (4, 3, 2 y también 1).

Para revertir todas las migraciones a (e incluir) una migración de destino, use: (Este comando corregido se agregó después de todos los comentarios que señalaban el error en la publicación original)

rake db:migrate VERSION=20100905201547

Para revertir solo una migración específica ( fuera de servicio ), utilice:

rake db:migrate:down VERSION=20100905201547

Tenga en cuenta que esto NO revertirá ninguna migración intermedia, solo la que figura en la lista. Si eso no es lo que pretendía, puede ejecutarlo de manera segura rake db:migratey solo volverá a ejecutar ese, omitiendo cualquier otro que no haya sido revertido previamente.

Y si alguna vez desea migrar una sola migración fuera de orden, también existe su inverso db:migrate:up:

rake db:migrate:up VERSION=20100905201547
Zachary Wright avatar Sep 05 '2010 21:09 Zachary Wright
rake db:migrate:down VERSION=20100905201547

revertirá el archivo específico.


Para encontrar la versión de todas las migraciones, puede usar este comando:

rake db:migrate:status

O simplemente el prefijo del nombre del archivo de la migración es la versión que necesita revertir.


Consulte la entrada de la guía Ruby on Rails sobre migraciones.

John Creamer avatar Jul 09 '2011 14:07 John Creamer

Para revertir la última migración, puede hacer:

rake db:rollback

Si desea deshacer una migración específica con una versión, debe hacer:

rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION

Por ejemplo, si la versión es 20141201122027, harás

rake db:migrate:down VERSION=20141201122027

para revertir esa migración específica.

Waleed avatar Dec 02 '2014 07:12 Waleed

Puede revertir su migración utilizando rake db:rollbackdiferentes opciones. La sintaxis será diferente según sus requisitos.

Si desea revertir solo la última migración, puede usar cualquiera de las dos opciones

rake db:rollback

o

rake db:rollback STEP=1

Si desea revertir el número de migraciones a la vez, simplemente pase un argumento:

rake db:rollback STEP=n

donde nes el número de migraciones a revertir, contando desde la última migración.

Si desea revertir a una migración específica, debe pasar la versión de la migración de la siguiente manera:

rake db:migrate:down VERSION=xxxxx

donde xxxxx es el número de versión de la migración.

uma avatar Mar 24 '2014 07:03 uma