1
resposta

[Reclamação] Erro ao efetuar o primeiro cadatro sugerido no curso - RECLAMACAO

Bom dia! Faz mais ou menos 8 anos que uso o Alura e SEMPRE temos este tipo de problema nos cursos. SEMPRE temos que parar os estudo para pesquisar como solucionar erros no material fornecido e NINGUEM se preocupa em consertar o erro.

O seguinte post é sobre o mesmo roblema (Publicado 2 anos atrás, em 18/06/2024)... e quem deu a dica da solucao foi o aluno!!!!!!
https://cursos.alura.com.br/forum/topico-bug-nao-consegui-fazer-o-cadastro-sugerido-no-video-434782

ERRO
[Nest] 46512 - 05/15/2026, 8:18:28 AM ERROR [ExceptionsHandler] SQLITE_CONSTRAINT: FOREIGN KEY constraint failed
QueryFailedError: SQLITE_CONSTRAINT: FOREIGN KEY constraint failed
at Statement.handler (C:\dev\Projects\Alura\angular-escreva-testes-end-to-end-playwright\jornada-milhas-api-main\src\driver\sqlite\SqliteQueryRunner.ts:113:26)

OBS: Nao modifiquei nada nos projetos baixados! Apenas segui os passos, entao nem precisa me pedir pra ver meu repositorio pq é o mesmo de onde baixei os arquivos.

Os curso sao excelentes, mas este tipo de problema recorrente que NUNCA NINGUEM resolve, sinceramente nao consigo entender!
Obrigado,

1 resposta

Olá, Leonardo. Como vai?

Entendo perfeitamente a sua frustração. Quando estamos empolgados para aprender uma nova ferramenta como o Playwright, encontrar um erro logo no ambiente de apoio quebra o fluxo de estudos e é realmente cansativo ter que atuar como "detetive" para corrigir algo que deveria estar pronto para uso. Sinto muito que você esteja passando por essa experiência novamente.

O erro que você compartilhou, o SQLITE_CONSTRAINT: FOREIGN KEY constraint failed, indica uma violação de chave estrangeira no banco de dados SQLite da API. Isso acontece quando o sistema tenta inserir ou deletar um dado que depende de outro que não existe (ou que ainda não foi vinculado corretamente).

Como você está utilizando o projeto exatamente como foi baixado, aqui estão as causas mais comuns e como você pode resolver isso rapidamente para voltar ao foco do curso (o Playwright):

1. Ordem de Cadastro e Dependências
Muitas vezes, a API do projeto (neste caso, a Jornada Milhas) exige que uma entidade "pai" exista antes da "filha". Se você tentou cadastrar um depoimento ou uma milha antes de ter um usuário ou um destino cadastrado, o SQLite barrará a operação.

  • Sugestão: Tente realizar os cadastros seguindo exatamente a ordem lógica do negócio: primeiro o usuário/perfil, depois as entidades que dependem dele.

2. Reset do Banco de Dados (Solução Rápida)
Como o SQLite é um arquivo local (geralmente um arquivo .sqlite ou .db), ele pode ter vindo com alguma inconsistência ou resquício de dados do ambiente de desenvolvimento.

  • Vá até a pasta da API (jornada-milhas-api-main).
  • Localize o arquivo do banco de dados (provavelmente algo como database.sqlite).
  • Exclua esse arquivo.
  • Reinicie a API. Na maioria das vezes, o TypeORM (que é o que a mensagem de erro sugere que a API usa) recriará o arquivo do zero, limpo e com as tabelas corretas.

3. Versão do Node.js
Embora o erro seja de SQL, inconsistências entre versões do Node.js e drivers de banco de dados podem causar comportamentos estranhos em APIs NestJS. Verifique se você está utilizando a versão de Node recomendada no arquivo README.md do projeto ou a versão LTS.

Dica de Amigo:
Como o foco deste curso específico são os testes End-to-End (E2E) com Playwright, se a API continuar apresentando problemas de banco, você também pode tentar rodar o comando de migração (caso o projeto possua) dentro da pasta da API:

npm run migration:run

Ou, em casos extremos, verificar se há um comando de seed para popular o banco automaticamente:

npm run seed

Agradeço por compartilhar o link do outro tópico. Isso ajuda a mapear que o problema pode estar no pacote de dados iniciais do projeto. Vou reforçar esse ponto para que a equipe de conteúdo dê uma olhada na integridade desses arquivos de apoio.

Espero que possa ter lhe ajudado!