4

我正在扩展一个类 Entity 来创建一个历史表。历史表不能从基类继承唯一约束,因为我们需要复制其中的大部分数据。当然,我可以只复制属性而不扩展基类,但会导致为每个历史表维护两个类。

有什么办法可以防止 TypeORM 为类实体生成约束?

我正在考虑类似于避免创建外键约束的事情。对于这种情况,可能有一个类装饰器(类似@IgnoreConstraints)会很好。

//Base class with required constraint
@Entity()
@Unique(['email', 'shopId'])
export class Customer {}

// Will inherit the unique constraint 
@Entity()
export class CustomerHistory extends Customer {}

此外,我正在使用 anchan828 非常有用的TypeORM 历史库,该库正在添加一个dropUniqueIndices用于以后迁移的方法,但不幸的是,稍后会导致自动生成的迁移,包括这些约束并且schema:sync将不再工作。

谢谢!

4

0 回答 0