Tenho o seguinte arquivo de migração db\migrate\20100905201547_create_blocks.rb
Como posso especificamente reverter esse arquivo de migração?
rake db:rollback STEP=1
É uma maneira de fazer isso, se a migração que você quer recuar é a última aplicada. Você pode substituir 1 por quantas migrações você quiser voltar.
Por exemplo:
rake db:rollback STEP=5
Também vai reverter toda a migração que aconteceu mais tarde (4, 3, 2 e também 1).
Para reverter todas as migrações de volta para (e incluindo) uma migração de destino, use: (Este comando corrigido foi adicionado DEPOIS de todos os comentários apontando o erro no post original)
rake db:migrate VERSION=20100905201547
A fim de reverter APENAS UM uso específico de migração (OUT OF ORDER):
rake db:migrate:down VERSION=20100905201547
Note que isto NÃO irá reverter nenhuma migração intercessiva -- apenas a listada. Se isso não for o que você pretendia, você pode executar com segurança o `rake db:migrate' e ele irá executar novamente apenas aquele, pulando qualquer outro que não tenha sido rolado anteriormente.
rake db:migrate:down VERSION=20100905201547
irá reverter o ficheiro específico.
Para encontrar a versão de todas as migrações, você pode usar este comando:
rake db:migrate:status
Ou, simplesmente o prefixo da migração's nome do arquivo é a versão que você precisa para rolar.
Veja a entrada do guia Ruby on Rails sobre migrações.
Você pode reverter sua migração utilizando o rake db:rollback
com diferentes opções. A sintaxe será diferente de acordo com as suas necessidades.
Se você quiser retroceder apenas na última migração, então você pode usar qualquer
rake db:rollback
ou
rake db:rollback STEP=1
Se você quer o número de migrações de uma vez, então você simplesmente passa uma discussão:
rake db:rollback STEP=n
onde n
é o número de migrações a recuar, contando a partir da última migração.
Se você quiser retroceder para uma migração específica, então você deve passar a versão da migração no seguinte:
rake db:migrate:down VERSION=xxxxx
onde xxxxx é o número da versão da migração.