首页 > 解决方案 > 为什么 TypeORM 会删除自定义表约束?

问题描述

我有迁移运行时设置的这个约束

ALTER TABLE schedule ADD CONSTRAINT overlapping_times
      EXCLUDE USING GIST
      (
           ("companyId") with =,
           (day_of_week) with =,
           timerange(open_at, close_at) with &&
      );

但是对于我在任何实体 typeorm 中所做的每次更改都将其删除,有没有办法在没有 typeorm 的情况下创建自定义约束删除它?

[编辑] 这是我的实体

@Entity()
export class Schedule implements ISchedule {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'time' })
  open_at: string;

  @Column({ type: 'time' })
  close_at: string;

  @Column({ type: 'enum', enum: DayOfWeek, default: DayOfWeek.monday })
  day_of_week: DayOfWeek;

  @ManyToOne(() => Company, (c) => c.schedule)
  company?: ICompany;
}

标签: sqlpostgresqltypeorm

解决方案


推荐阅读