Когда я пытаюсь обновить строку в таблице с отношением @ManytoONe
, у меня возникает ошибка.
Я хочу обновить строку в EntrainementCalendar
, которая имеет @ManytoONe
с Entrainements
`
[Nest] 7601 - 10/29/2019, 1:31 PM [ExceptionsHandler] insert or update on table "entrainement_calendar" violates foreign key constraint "FK_aaf717375f5f876e6618eaab1fc" +22019ms
[0] QueryFailedError: insert or update on table "entrainement_calendar" violates foreign key constraint "FK_aaf717375f5f876e6618eaab1fc"
[0] at new QueryFailedError (/Users/damien/Desktop/projetAngular/rowing/rowing-back-end/node_modules/typeorm/error/QueryFailedError.js:11:28)
[0] at Query.callback (/Users/damien/Desktop/projetAngular/rowing/rowing-back-end/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:176:38)
[0] at Query.handleError (/Users/damien/Desktop/projetAngular/rowing/rowing-back-end/node_modules/pg/lib/query.js:142:17)
[0] at Connection.connectedErrorMessageHandler (/Users/damien/Desktop/projetAngular/rowing/rowing-back-end/node_modules/pg/lib/client.js:194:17)
[0] at Connection.emit (events.js:197:13)
[0] at Socket.<anonymous> (/Users/damien/Desktop/projetAngular/rowing/rowing-back-end/node_modules/pg/lib/connection.js:126:12)
[0] at Socket.emit (events.js:197:13)
[0] at addChunk (_stream_readable.js:288:12)
[0] at readableAddChunk (_stream_readable.js:269:11)
[0] at Socket.Readable.push (_stream_readable.js:224:10)
`
Я пытался: - использовать каскад: true в отношении, но с @Put я получаю ошибку, - использовать каскад: true с @POST itобновить строку в таблице EntrainementCalendar
, но создать новую в Entrainements
Первая сущность
@Entity()
export class EntrainementCalendar extends HistoriqueEntity {
@Column()
start: Date;
@Column({nullable: true})
end: Date;
@Column()
title: string;
@ManyToOne( type => Entrainements, training => training.id, {persistence: false, onDelete: 'CASCADE', onUpdate: 'NO ACTION'})
@JoinTable()
training: Entrainements;
@Column()
draggable: boolean;
}
Вторая сущность
@Entity()
export class Entrainements extends HistoriqueEntity {
@Column()
title: string;
@ManyToMany( () => Categories )
@JoinTable()
category: Categories[];
@Column()
distance: string;
@Column({nullable: true})
strokesStart: number;
@Column({nullable: true})
comments: string;
@Column()
warmUp: string;
@Column({nullable: true})
cadence: string;
@ManyToOne(type => Season, season => season.name)
season: Season;
@Column()
rest: string;
@ManyToOne(type => Color, color => color.primary, {cascade: true})
color: Color;
@Column({nullable: true})
start: Date;
@Column({nullable: true})
end: Date;
@Column({nullable: true})
draggable: boolean;
@ManyToOne(type => Roles, role => role.entrainements)
role: Roles;
@ManyToMany( () => Exercices )
@JoinTable()
exercices: Exercices[];
}
```
I would like the row `EntrainementCalendar` without creating a new one in `Entrainements`