Bom dia meu projeto estava dando erro, depois de muitaas tentativa tentando solucionar acabei por optar em clonar o projeto original da aula para poder dar andamento no curso. mas o erro permanece
link do projeto no git
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!
Bom dia meu projeto estava dando erro, depois de muitaas tentativa tentando solucionar acabei por optar em clonar o projeto original da aula para poder dar andamento no curso. mas o erro permanece
link do projeto no git
Oi Renata o/
Eu olhei sua aplicação, corrigi e fiz um pull-request da correção lá no Github.
Então, esse erro que aparece aí pra você é do Flyway, o gestor de migrations que você está usando, isso significa que tem alguma coisa errada com os arquivos de migration... Veja só...
A sua migration V2 tem erros de sintax:
-- Errado:
alter table vollmed_api add telefone varchar(20) not toNull
-- Correto:
alter table vollmed_api add telefone varchar(20) not null;
A sua query SQL na migration V3 também está errada:
-- Errado:
alter table medicos add ativo timyint
update medicos set ativo = 1;
-- Correto:
alter table medicos add ativo tinyint;
update medicos set ativo = 1;
Nessa V3 além do erro na escrita, você tem duas querys distintas que devem ser executadas separadamente, por isso é importante não esquecer do ; (ponto e vírgula) no final da query SQL, para que elas não sejam consideradas uma coisa só.
Outra coisa que tinha errado também é esse método aqui no seu MedicoController:
@DeleteMapping("/{id}") // Faltava fechar a chave
@Transactional
public void excluir(@PathVariable long id){
var medico = repository.getReferenceById(id);
medico.excluie();
}
Agora, feitas essas correções, abra o seu MySQL e execute os seguinte comandos:
//seleciona o banco
use vollmed_api;
//exclui a tabela medicos
drop table medicos;
//exlcui a tabela do flyway
drop table flyway_schema_history;
Rode sua aplicação novamente e tudo deve funcionar