删除级联抛出错误时对Typescript进行续集

删除级联抛出错误时对Typescript进行续集,typescript,sequelize.js,Typescript,Sequelize.js,我在Group和GroupAttendee之间建立了非常直接的FK关系。每当我调用Group.destroy()时,GroupAttendee条目上就会出现一个外键约束失败异常。我知道这些约束应该如何在数据库级别工作,但我似乎无法让sequelize typescript创建?/enforce?他们 我提供了一个简化版的模型来演示我的设置: import { Model, Column, AllowNull, HasMany, ForeignKey, DataType, BelongsTo }

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

我提供了一个简化版的模型来演示我的设置:

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;
}
import{Model,Column,AllowNull,HasMany,ForeignKey,DataType,BelongsTo}来自“sequelize typescript”;
从“/User”导入{User};
类组扩展模型{
@AllowFull(假)
@纵队
标题:字符串;
@AllowFull(假)
@纵队
起始日期:日期;
@AllowFull(假)
@纵队
结束日期:日期;
@有许多(()=>GroupAttendee)
与会者:GroupAttendee[];
}
类GroupAttendee扩展模型{
@外键(()=>用户)
@列(DataType.INTEGER)
userId:number;
@外键(()=>组)
@列(DataType.INTEGER)
groupId:编号;
@属于(()=>组{
更新:“级联”,
onDelete:“级联”,
胡克斯:没错
})
组:对照组;
}

有人能做到这一点吗?

我认为你应该把cascade放在
Group
模型上,而不是
GroupAttendee
,像这样:

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