Olá, Rafael! Tudo bem?
Agradeço por compartilhar sua solução com a comunidade. :)
O erro que você mencionou é comum quando estamos usando o Flyway em um banco de dados que já possui algum tipo de estrutura ou dados. O Flyway espera que, por padrão, o banco de dados esteja vazio para que ele possa gerenciar a versão do esquema a partir do zero.
Ao adicionar a linha spring.flyway.baselineOnMigrate = true
no seu arquivo application.properties
, você está instruindo o Flyway a considerar o estado atual do seu banco de dados como a linha de base. Então, todas as migrações futuras serão aplicadas a partir deste ponto, e não a partir de um esquema vazio.
Por exemplo, digamos que você já tenha uma tabela 'usuarios' no seu banco de dados. Ao adicionar essa configuração, o Flyway entenderá que essa tabela 'usuarios' é a versão inicial (baseline) do seu esquema. Então, se você adicionar uma migração para criar uma nova tabela 'produtos', o Flyway irá aplicá-la normalmente, sem reclamar que a tabela 'usuarios' já existe.
Lembre-se de que essa configuração deve ser usada com cuidado. Se você estiver trabalhando em um projeto em equipe e seu colega de equipe criar uma migração que também cria a tabela 'usuarios', vocês terão um conflito.
Espero ter ajudado e bons estudos!