Olá, John!
Pelo que você descreveu, parece que você está tentando enviar números decimais para um campo que está definido como inteiro no seu banco de dados PostgreSQL. Se a sua propriedade valorTotal
e taxa
estão definidas como number
na entidade produto e você deseja que elas aceitem valores decimais, você precisa garantir que o tipo de dado no banco de dados seja compatível com números decimais.
No PostgreSQL, você pode usar os tipos DECIMAL
ou NUMERIC
para armazenar números com precisão decimal fixa, ou REAL
e DOUBLE PRECISION
para precisão decimal variável (números de ponto flutuante). Se você está usando um ORM (Object-Relational Mapping) como Sequelize, TypeORM ou similar, você deve verificar na documentação como definir esses tipos para suas entidades.
Por exemplo, se estiver usando TypeORM, você poderia definir suas propriedades assim:
@Entity()
export class Produto {
// ...
@Column({ type: 'decimal', precision: 10, scale: 2 })
valorTotal: number;
@Column({ type: 'decimal', precision: 5, scale: 2 })
taxa: number;
// ...
}
Aqui, precision
é o número total de dígitos que o número pode ter, e scale
é o número de dígitos após a vírgula.
Certifique-se de que, ao fazer a alteração no banco de dados, você também atualize suas entidades e migrações correspondentes para refletir essa mudança de tipo de dado.
Lembre-se de fazer um backup do seu banco de dados antes de realizar qualquer alteração de esquema para evitar perda de dados.
Espero ter ajudado e bons estudos!