Fiquei me perguntando, quando devo de fato usar as migrations. Todos os projetos que trabalhei com spring usavam JPQL. Nesse caso, qual seria a melhor opção?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fiquei me perguntando, quando devo de fato usar as migrations. Todos os projetos que trabalhei com spring usavam JPQL. Nesse caso, qual seria a melhor opção?
Olá, Lincoln!
As migrations são utilizadas para controlar a evolução do esquema do banco de dados de forma organizada e controlada. Elas permitem que você crie e atualize a estrutura do banco de dados de maneira incremental, sem precisar modificar diretamente os arquivos existentes.
No contexto do curso de API REST com Kotlin e Spring Boot, as migrations são utilizadas para criar as tabelas do banco de dados e definir suas colunas, chaves primárias e estrangeiras. Além disso, elas também podem ser usadas para adicionar ou modificar colunas em tabelas já existentes.
É importante ressaltar que, ao utilizar migrations, você tem um controle mais preciso sobre as alterações no banco de dados e mantém um histórico das mudanças realizadas. Isso facilita a manutenção do banco de dados e permite desfazer alterações, se necessário.
Sem migrations, toda a evolução do banco de dados é controlada manualmente, via scripts SQL que não ficam salvos com o código da aplicação e muitas vezes se perdem com a pessoa que os executou, não tendo assim uma automatização para execução, dificultando também o rollback para versões anteriores do schema do banco de dados, quando necessário.
Espero ter ajudado e bons estudos!
Perfeito, entendi... mas no caso, mas o uso de JPQL na criação das queries não excluiria esse risco? Já que a query é montada na requisição?