2
respostas

[Projeto] Error aula 4: throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

A mensagem de erro que você está recebendo, EntityPropertyNotFoundError: Property "especie123" was not found in "PetEntity", indica que a propriedade que você está tentando acessar ou consultar na entidade PetEntity não existe ou não está definida corretamente. Isso pode ocorrer por várias razões:

  • Possíveis Causas e Soluções:

  • Verifique a Definição da Entidade:

Certifique-se de que a propriedade especie123 está realmente definida na classe PetEntity. Por exemplo:

import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';

    @Entity()
    export class PetEntity {
        @PrimaryGeneratedColumn()
        id: number;

        @Column() // Certifique-se de que esta propriedade está corretamente definida
        especie: string; // Deve ser 'especie' se este for o nome correto
    }

Se a propriedade tiver um nome diferente, você precisará usar o nome correto.

  • Verifique as Consultas: Se você está tentando fazer uma consulta que menciona especie123, verifique o código da consulta e altere o nome da propriedade para corresponder ao que está definido na sua entidade.

  • Verifique o Mapeamento de Colunas: Caso você esteja usando decorators para mapear colunas (como @Column()), verifique se os parâmetros estão corretos. Um erro comum é ter um nome de coluna diferente do que foi definido.

  • Recompilar o Projeto: Se você fez alterações na entidade, não se esqueça de recompilar seu projeto para garantir que as mudanças sejam aplicadas. Use npm run build ou o comando de compilação correspondente.

  • Atualize o Banco de Dados: Se você alterou a estrutura da entidade, você pode precisar sincronizar essas mudanças com o banco de dados. Isso pode ser feito usando migrações ou a opção de sincronização automática, se estiver configurada.

const AppDataSource = new DataSource({
        type: 'mysql', // ou o tipo de banco que você está usando
        database: 'seu_banco',
        synchronize: true, // Cuidado com esta opção em produção
        // outras configurações...
    });

Verifique a Rota: Se o erro ocorrer ao acessar uma rota específica, verifique se o manipulador de rotas está buscando a propriedade correta.

Conclusão

Revise sua definição de entidade e verifique todas as partes do seu código onde a propriedade especie123 é referenciada. Certifique-se de que a nomenclatura e o mapeamento estão corretos. Se precisar de mais ajuda, compartilhe o código da sua entidade PetEntity e a parte do código onde a consulta está sendo feita. Isso facilitará a identificação do problema.

Bom dia! O problema é que meu middleware não está capturando o erro da mesma maneira que no vídeo, como se meus middlewares não estivessem funcionando.