Postgresql QueryFaileError:整数的输入语法无效:“当查询类型浮点时”

Postgresql QueryFaileError:整数的输入语法无效:“当查询类型浮点时”,postgresql,nestjs,typeorm,Postgresql,Nestjs,Typeorm,使用TypeORM QueryBuilder查询数据库时,我得到: QueryFailedError: invalid input syntax for integer: "X" X是存储在数据库中的值 最初,我的实体是类型 {type: 'decimal', precision: 5, scale: 2 } value: number 由于我已将其更改为: {type: 'real'} value: string 并尝试: 'float' value: string 这三种类型都会抛出

使用TypeORM QueryBuilder查询数据库时,我得到:

QueryFailedError: invalid input syntax for integer: "X"
X是存储在数据库中的值

最初,我的实体是类型

{type: 'decimal', precision: 5, scale: 2 }
value: number
由于我已将其更改为:

{type: 'real'}
value: string
并尝试:

'float'
value: string
这三种类型都会抛出相同的错误。但是,如果DB中的值没有任何小数点,则可以正常工作

我正在运行Postgres v11.4、TypeORM v0.2.18和Nest.js v6.5.3

实体定义:

export class Entity extends BaseEntity {

    @Column('float')
    value: string;
}
查询:

const current = await this.entityRepo
            .createQueryBuilder('uL')
            .leftJoin('uL.user', 'user')
            .leftJoinAndSelect('uL.currentLevel', 'cL')
            .where('user.id = :id', { id: userId })
            .getOne();

我希望返回的实体的值具有正确的十进制间距。

在更新到TypeORM v0.2.18之后,我遇到了相同的错误:PostgreSQL实际上不知道数字;有关详细信息,请参阅Microsoft上的typeorm存储库

更改为:

@纵队 值:数字; 。。。为此:

@列{type:'real'} 值:字符串; 我忘了迁移;是吗

重要信息:运行迁移以实际应用这些更改:

npm运行类型:迁移ChangedNumbersTypeToReal npm运行构建;npm运行类型:运行 现在一切都应该好了


你可以在他们的

上读到更多关于TypeORM迁移的信息,在更新到TypeORM v0.2.18之后,我遇到了同样的错误:PostgreSQL实际上不知道这个数字;有关详细信息,请参阅Microsoft上的typeorm存储库

更改为:

@纵队 值:数字; 。。。为此:

@列{type:'real'} 值:字符串; 我忘了迁移;是吗

重要信息:运行迁移以实际应用这些更改:

npm运行类型:迁移ChangedNumbersTypeToReal npm运行构建;npm运行类型:运行 现在一切都应该好了

您可以在其网站上阅读有关TypeORM迁移的更多信息