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
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