类索引装饰器和列装饰器之间有什么区别?

时间:2019-10-25 08:41:14

标签: javascript decorator typeorm

我正在使用typeorm,但我仍然是新手,这对我来说很有趣,类索引装饰器和列装饰器之间的区别是什么。他们俩都说电子邮件是独一无二的。但是最好的解决方案是什么?在表中定义索引的最佳位置(属性装饰器或类装饰器)在哪里?

@Index('email', ['email'], { unique: true })
@Column({ unique: true })

1 个答案:

答案 0 :(得分:2)

@Index装饰器可以执行与@Column({ unique: true })相同的操作,但是可以执行更多操作。使用最适合您的解决方案:

  • 如果您只需要将一列标记为唯一-请使用@Column({ unique: true }),因为无论如何您都需要使用@Column装饰器。

  • 如果需要以某种方式自定义索引,请使用@Index装饰器。例如,它允许您指定索引的名称:@Index('index-name', { unique: true })