Не удается вставить bigint в SQL Server с помощью typeorm (NestJS)

0

Вопрос

Я хочу вставить запись в SQL Server с помощью typeorm, где столбец имеет тип bigint. У меня есть сущность "Кошки" с типом идентификатора: 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;
}

И dto, что я получаю в контроллере:

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);
  }

Но когда я отправляю запрос с идентификатором в виде строки через почтальона, я получаю следующую ошибку:

"ошибка": "Ошибка: Не удалось выполнить проверку параметра "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ý
..................................................................................................................