gpt4 book ai didi

typescript - 在删除级联抛出错误时续写 Typescript

转载 作者:行者123 更新时间:2023-12-03 22:18:42 25 4
gpt4 key购买 nike

我在 Group 和 GroupAttendee 之间建立了非常直接的 FK 关系。每当我调用 Group.destroy() 时,都会遇到 GroupAttendee 条目上的外键约束失败异常。我理解这些约束应该如何在数据库级别工作,但我似乎无法让 sequelize-typescript 创建?/强制?他们。

我包括我的模型的简化版本来演示我的设置:

import { Model, Column, AllowNull, HasMany, ForeignKey, DataType, BelongsTo } from "sequelize-typescript";
import { User } from "./User";

class Group extends Model<Group> {

@AllowNull(false)
@Column
title: string;

@AllowNull(false)
@Column
startDate: Date;

@AllowNull(false)
@Column
endDate: Date;

@HasMany(() => GroupAttendee)
attendees: GroupAttendee[];
}

class GroupAttendee extends Model<GroupAttendee> {

@ForeignKey(() => User)
@Column(DataType.INTEGER)
userId: number;

@ForeignKey(() => Group)
@Column(DataType.INTEGER)
groupId: number;

@BelongsTo(() => Group, {
onUpdate: "CASCADE",
onDelete: "CASCADE",
hooks: true
})
group: Group;
}

有没有人让这个工作?

最佳答案

我认为您应该将级联放在 Group 模型上,而不是 GroupAttendee 上,如下所示:

@HasMany(() => GroupAttendee , {
onUpdate: "CASCADE",
onDelete: "CASCADE",
hooks: true
})
attendees: GroupAttendee[];

关于typescript - 在删除级联抛出错误时续写 Typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com