Я пытаюсь создать сущность, использующую typeOrm на моем NestJS, и она не работает, как я ожидал.
У меня есть следующая сущность
@Entity('TableOne')
export class TableOneModel {
@PrimaryGeneratedColumn()
id: number
@PrimaryColumn()
tableTwoID: number
@PrimaryColumn()
tableThreeID: number
@CreateDateColumn()
createdAt?: Date
}
Этот код генерирует миграциюкоторая генерирует таблицу, как в примере ниже
+--------------+-------------+------+-----+----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+----------------------+-------+
| id | int(11) | NO | | NULL | |
| tableTwoID | int(11) | NO | | NULL | |
| tableThreeID | int(11) | NO | | NULL | |
| createdAt | datetime(6) | NO | | CURRENT_TIMESTAMP(6) | |
+--------------+-------------+------+-----+----------------------+-------+
Это нормально, проблема в том, что я хочу, чтобы таблица позволяла только одну строку с tableTwoID
и tableThreeID
, что я должен использовать в сущностичтобы сгенерировать таблицу так, как я ожидал?
Предполагается, что строки будут запрещены, как в примере ниже
+----+------------+--------------+----------------------------+
| id | tableTwoID | tableThreeID | createdAt |
+----+------------+--------------+----------------------------+
| 1 | 1 | 1 | 2019-10-30 19:27:43.054844 |
| 2 | 1 | 1 | 2019-10-30 19:27:43.819174 | <- should not allow the insert of this row
+----+------------+--------------+----------------------------+