多对多连接表上的Typeorm级联

时间:2020-03-26 07:49:16

标签: node.js typeorm

我有两个模型,一个是Target,另一个是Client,它们之间有many-to-many的关系。

目标

@Entity()
@Unique('unique_platform_handle', ['platform', 'handle'])
export class Target {
  @PrimaryGeneratedColumn('uuid')
  id!: string;

  @Column('enum', { name: 'target_platform', enum: TargetPlatform })
  platform: TargetPlatform;

  @Column()
  handle: string;

  @ManyToMany(() => Tag)
  tags: Tag[];

  @ManyToMany(() => Client, clients => clients.targets)
  clients: Client[];

  @CreateDateColumn()
  createdAt!: Date;

  @UpdateDateColumn()
  updatedAt!: Date;

客户


@Entity()
export class Client {
    @PrimaryGeneratedColumn('uuid')
    id: string;

    @Column()
    name: string;

    @OneToMany(() => ClientUser, clientUsers => clientUsers.client)
    clientUsers: ClientUser[];

    @OneToMany(() => Keywordlist, keywordlist => keywordlist.client)
    keywordlist: Keywordlist[];

    @ManyToMany(() => Target, targets => targets.clients, { onDelete: 'CASCADE' })
    @JoinTable({ name: 'client_target' })
    targets: Target[];

    @OneToMany(() => Tag, tags => tags.client)
    tags: Tag[];

    @CreateDateColumn()
    createdAt: Date;

    @UpdateDateColumn()
    updatedAt: Date;

现在, Typeorm 将为此名称的many-to-many relationship创建连接表

client_target

现在我还有另一个表Tag,在其中我要针对客户端添加目标,并在上面的联结表client_target中添加条目。

所以现在我想要的是每当我从 junction tabl e中删除条目时从Tag表中删除条目。

0 个答案:

没有答案