Tengo el siguiente archivo de migración db\migrate20100905201547_create_blocks.rb
.
¿Cómo puedo revertir específicamente ese archivo de migración?
rake db:rollback STEP=1
Es una forma de hacer esto, si la migración que quieres retroceder es la última aplicada. Puedes sustituir 1 por el número de migraciones que quieras retroceder.
Por ejemplo:
rake db:rollback STEP=5
También revertirá todas las migraciones que se hayan producido posteriormente (4, 3, 2 y también 1).
Para revertir todas las migraciones hasta (e incluyendo) una migración de destino, utilice: (Este comando corregido se añadió DESPUÉS de todos los comentarios que señalaban el error en el post original)
rake db:migrate VERSION=20100905201547
Para revertir SOLO UNA migración específica (FUERA DE ORDEN) utilice:
rake db:migrate:down VERSION=20100905201547
Tenga en cuenta que esto NO revertirá ninguna de las migraciones intermedias, sino sólo la que aparece en la lista. Si esto no es lo que pretendía, puede ejecutar con seguridad rake db:migrate
y se volverá a ejecutar sólo esa, omitiendo cualquier otra que no se haya revertido previamente.
rake db:migrate:down VERSION=20100905201547
hará retroceder el archivo específico.
Para encontrar la versión de todas las migraciones, puede utilizar este comando:
rake db:migrate:status
O bien, simplemente el prefijo del nombre del archivo de la migración es la versión que necesita revertir.
Véase la entrada de la guía de Ruby on Rails sobre migraciones.
Puede revertir su migración utilizando rake db:rollback
con diferentes opciones. La sintaxis será diferente según sus necesidades.
Si quiere revertir sólo la última migración, puede utilizar
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 n
es 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 en lo siguiente:
rake db:migrate:down VERSION=xxxxx
donde xxxxx es el número de versión de la migración.