5
respostas

erro ao cadastar uma ACL

{ "message": "Unknown column 'usuario_roles->usuarios_roles.usuarioId' in 'on clause'" }

ao cadastrar um acl pelo insomnia retona essa mensagem, alguém pode ajudar, estou usando mysql no lugar de pg

https://github.com/tbatista86/seguranca-nodejs

5 respostas

Olá Tiago! Tudo ok por aí?

Esse erro geralmente ocorre quando há uma incompatibilidade entre a estrutura do banco de dados e o código que está sendo executado. No seu caso, parece que a coluna 'usuario_roles->usuarios_roles.usuarioId' não existe na tabela em questão.

Uma possível solução para esse problema seria verificar se a estrutura do banco de dados está correta e se todas as colunas necessárias estão presentes. Além disso, é importante conferir se o código está fazendo referência corretamente a essas colunas.

Outra coisa que pode ajudar é verificar se você está utilizando a versão correta do MySQL e se todas as dependências estão instaladas corretamente.

Infelizmente, sem mais informações sobre a estrutura do banco de dados e o código em questão, fica difícil dar uma solução mais precisa.

Falo isso porquê o link para seu Github está quebrado, peço que dê uma verificada no que pode ter acontecido:

link com status 404 do github

Espero que essas dicas possam te ajudar a resolver o problema!

Abraços e bons estudos!

desculpe tinha deixado a repo privada agora está publica

Olá Tiago, tudo bem contigo?

Eu estava analisando aqui e dê acordo com o Github não tem nada de errado com o código, o que pode estar gerando problema pode ser a forma que você fez as requisições HTTP utilizando o insomnia, portanto eu peço que você mostre como fez elas, e se possível use imagens e gif´s.

Era isso, com essas informações eu posso lhe ajudar melhor.

Aguardo sua resposta para que eu possa te auxiliar da melhor forma possível! Abraços e bons estudos.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade segue imagem, ambos id de roles e permissoes existem

Olá Tiago, tudo bem contigo?

Peço minhas mais sinceras desculpas pela demora em obter um retorno!

Agradeço por compartilhar a imagem da requisição que você está fazendo no Insomnia. Pelo que pude verificar, parece que a requisição em si está correta, e o código também não apresenta problemas aparentes.

Como monitor do fórum, estou comprometido em ajudar os alunos da melhor forma possível, mas neste caso, mesmo após analisar o código e a requisição, não encontrei um motivo óbvio para o erro que você está enfrentando.

Uma vez que o código no repositório está correto e as requisições parecem estar sendo feitas de maneira adequada, é possível que o problema esteja relacionado a alguma configuração específica no ambiente de execução.

Nesse sentido, vou deixar algumas dicas para que você encontre o problema, para ajudar verifique os seguintes pontos:

  1. Verifique o Endpoint: Certifique-se de que o endpoint que você está chamando está correto e corresponde à rota correta para criar o usuário com as permissões e roles.
  2. Debugging: Se possível, adicione alguns logs no código da API para verificar se a requisição está chegando corretamente ao servidor e se os dados estão sendo processados como esperado.

    Além disso, recomendo que você verifique os logs do servidor para identificar se há algum erro sendo relatado lá. Caso encontre algum erro específico, procure pesquisar sobre ele para encontrar possíveis soluções.

  3. Certifique-se de que o banco de dados MySQL está devidamente configurado e que a tabela e as colunas necessárias para a funcionalidade ACL estejam presentes.
  4. Verifique as dependências do projeto e garanta que tudo esteja instalado corretamente.
  5. Confira se você está utilizando a versão adequada do MySQL, pois algumas funcionalidades podem variar entre diferentes versões.
  6. Caso tenha realizado alguma alteração no código ou nas configurações, considere fazer um rollback temporário para verificar se o erro persiste.
  7. Verifique novamente a estrutura do banco de dados: Certifique-se de que todas as tabelas e colunas necessárias estejam presentes e com os nomes corretos. Um erro na estrutura do banco pode gerar esse tipo de mensagem.
  8. Confirme as configurações de conexão: Verifique se as configurações de conexão com o banco de dados estão corretas no projeto. Um problema nas configurações pode causar esse tipo de erro.
  9. Atualize as dependências: Verifique se todas as dependências do projeto estão atualizadas e compatíveis. Às vezes, problemas podem ser resolvidos com a atualização de pacotes.
  10. Limpe o cache do Insomnia: Tente limpar o cache do Insomnia para garantir que não haja interferência de configurações antigas.
  11. Teste com outro banco de dados: Se possível, teste o projeto com um banco de dados diferente (por exemplo, SQLite) para verificar se o problema está relacionado especificamente ao MySQL.

Espero que essas orientações ajudem a apontar possíveis soluções para o seu problema. Lembre-se de que a comunidade está aqui para apoiá-lo em sua jornada de aprendizado.

Sem acesso direto ao seu ambiente de desenvolvimento, é um pouco mais difícil identificar o problema com precisão. Mas espero que essas dicas o ajudem a encontrar uma solução ou nortear sua busca por uma.

Desejo sucesso em seus estudos e projetos!

Abraços e bons estudos!