O rebase pode ser necessário para um projeto após uma longa execução. Eu fiz apenas uma vez para um de meus projetos, é perigoso, então certifique-se de estar ciente do que está fazendo e faça o backup antes de aplicá-lo à produção.
A seguir estão as etapas que eu fiz:
- Crie uma nova migração, com o nome que quiser, apenas significando para o rebase, por exemplo
rails g migration Rebase
- Migre essa migração para a sua localização e para todos os ambientes que já possuem dados e esquema mais recente, isso é importante !!!
- Execute
rake db:schema:dump
, para garantir que schema.rb obtenha o esquema mais recente, na verdade, teremos isso na etapa acima, apenas com certeza - Copie o conteúdo em schema.rb (no bloco de ActiveRecord :: Schema.define (: version => xxxxxxxx) do), para o método up da nova migração rebase criada
- Agora você pode remover todas as migrações, exceto a nova migração de rebase criada. E então terminamos
Mais uma vez, certifique-se de entender o que está fazendo !!!