作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
我是一名优秀的程序员,十分优秀!