Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I make combination of 3 columns in typeorm, postgres unique?

How can I achieve that there aren't 2 same records in db with values of these 3 columns combined being the same?

  @Column()
  sector: string;

  @Column()
  row: string;

  @Column()
  number: string;
like image 622
brand marke Avatar asked Dec 13 '25 06:12

brand marke


1 Answers

Updated Answer:

While creating a unique @Index like @Johannes suggested works for you, semantically the better solution would be creating a composite unique key.

@Unique(["sector", "row", "number"])

Based on https://stackoverflow.com/a/23665806/4343332, Postgres seems to handles both Unique Index and Unique Constraint in the same way internally.

Hence there will be no performance benefit in choosing either one.

Thank you for the insight @Johannes H. 🍻

like image 96
Eranga Heshan Avatar answered Dec 16 '25 08:12

Eranga Heshan