我正在使用typeorm
,但我仍然是新手,这对我来说很有趣,类索引装饰器和列装饰器之间的区别是什么。他们俩都说电子邮件是独一无二的。但是最好的解决方案是什么?在表中定义索引的最佳位置(属性装饰器或类装饰器)在哪里?
@Index('email', ['email'], { unique: true })
@Column({ unique: true })
答案 0 :(得分:2)
@Index
装饰器可以执行与@Column({ unique: true })
相同的操作,但是可以执行更多操作。使用最适合您的解决方案:
如果您只需要将一列标记为唯一-请使用@Column({ unique: true })
,因为无论如何您都需要使用@Column
装饰器。
如果需要以某种方式自定义索引,请使用@Index
装饰器。例如,它允许您指定索引的名称:@Index('index-name', { unique: true })
。