Oi!
Sim, o uso de migrations é super recomendado nos projetos, pois facilita e muito o controle de versão do banco de dados.
Durante o desenvolvimento até podemos mexer nas migrations, apagando, limpando a tabela de migrations no banco de dados, revertendo, etc. Mas uma vez que essa migration foi enviada para o ambiente de produção, ela não pode ser modificada livremente. É necessário ter um controle rigoroso em relação as migrations no ambiente de produção!
Se acontecer de alguma pessoa Dev do time ter enviado uma migration inválida ou com erros, deve ser criada uma nova que corrija com mudanças via SQL. E no ambiente de produção é recomendado utilizar a ferramenta de linha de comandos do Flyway para ter um gerenciamento melhor e conseguir fazer rollback automático de migrations, quando necessário.
Bons estudos!