Я использую бэкэнд node.js с nest.js и typeorm для действий с базой данных.Я получаю JSON со списком объектов, которые я хочу сохранить в базе данных MySQL.Эта база данных будет обновляться ежедневно, но я просто хочу сохранить данные, которых еще нет в этой таблице.Я думал, что repository.save()
typeorm уже делает это, но это не так.
save
- Сохраняет данный объект или массив объектов.Если объект уже существует в базе данных, он обновляется.Если объект не существует в базе данных, он вставляется.
Может быть, это потому, что при сохранении я генерирую столбец uuid, а typorm считает его другим элементом?Может ли кто-нибудь помочь мне с этим.
async writeNewEPG(epgData: EpgDataDTO[]){
const data = await this.epgDataRepository.create(epgData);
const response = await this.epgDataRepository.save(data);
return response;
}
Сущность:
import { Entity, Column, PrimaryColumn, PrimaryGeneratedColumn } from 'typeorm';
@Entity('epg_data')
export class EpgDataEntity {
@PrimaryColumn()
@PrimaryGeneratedColumn('uuid')
uuid: string;
@Column({type: "text", nullable: true})
sname: string;
@Column({type: "text", nullable: true})
title: string;
@Column({type: "int", nullable: true})
begin_timestamp: number;
}