不能插入bigint在SQL服务器使用typeorm(NestJS)

0

的问题

我想插入记录在SQL服务器使用typeorm其中列有类型 bigint. 我有猫的实体与 id 类型: bigint.

import { Column, Entity } from 'typeorm';

@Entity('Cats')
export class CatsEntity {
  @Column({ type: 'bigint', name: 'CatID' })
  public id: string;

  @Column('int', { primary: true, name: 'CatDB' })
  public db: number;

  @Column('varchar', { name: 'Name' })
  public name: string;

  @Column('datetime', { name: 'DDB_LAST_MOD' })
  public ddbLastMod: Date;
}

并且也可与检,我得到控制器:

export class InsertCatsDto {
  public id: string;

  public db: number;

  public name: string;
}

节省了进行控制器:

@Post('/cats')
  public async insertEobResponse(@Body() insertCatsDto: InsertCatsDto): Promise<any> {
    const cats = new CatsEntity();

    cats.id = insertCatsDto.id;
    cats.db = insertCatsDto.db;
    cats.name = insertCatsDto.name;
    cats.ddbLastMod = new Date();

    return this.catsRepository.insert(cats);
  }

但是,当我发送请求,与id作为一个串通过邮递员,我得到的以下错误:

"错误":"错误:验证失败的参数'0'. 值之间必须-9007199254740991和9007199254740991,具有包容性。 对于较小的或更大的数字,使用VarChar类型。"

我不知道如果我只是丢失东西,或者需要进行一些转变价值观,或者如果这是一个真正的问题typeorm.

nestjs sql-server typeorm
2021-11-23 18:27:43
1

最好的答案

0

让你代码的工作与bigInt在typeorm你只需要更改类型的实体"bigint"到"varchar":

import { Column, Entity } from 'typeorm';

@Entity('Cats')
export class CatsEntity {
@Column({ type: 'varchar', name: 'CatID' })
public id: string;

@Column('int', { primary: true, name: 'CatDB' })
public db: number;

@Column('varchar', { name: 'Name' })
public name: string;

@Column('datetime', { name: 'DDB_LAST_MOD' })
public ddbLastMod: Date;
}
2021-12-13 17:06:13

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................