Faça o rebase de um projeto de trilhos após um longo tempo de execução

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 !!!