Rails Migrações - Procure mudanças nas migrações antigas?
-
26-09-2019 - |
Pergunta
Se eu tiver duas migrações, MIG1 e MIG2, executo o Rake DB: migro, depois volto para o MIG1 e alterei o valor padrão de uma coluna, essa mudança será refletida quando eu executar o Rake DB: Migrar novamente? Ou tenho que fazer uma nova migração apenas para essa coluna fazer a mudança?
Solução
Você deve fazer uma nova migração ou usar o ancinho db:rollback
Tarefa para voltar à versão do seu banco de dados antes que a migração em questão fosse executada. As alterações nos scripts de migração não serão automaticamente captadas.
A versão atual do seu esquema é rastreada e aplicada a migrações, portanto, a realização de Rake DB: Migrate não executa novamente as migrações antigas. É por esse motivo que você pode usar o rollback
recurso, desde que você forneça correto self.down
Métodos em sua migração. Rolling para trás executa esses métodos para baixo, desfazendo as migrações.
Você pode editar a migração e re-migrar.
Outras dicas
Você pode refazer uma determinada versão executando o seguinte:
rake db:migrate:down VERSION=___________
rake db:migrate:up VERSION=____________
RAKE DB: Migre: Relo Version =____