Я хочу создать Path сущность. Эта сущность имеет столбец идентификатора, который не генерируется автоматически. У сущности Path может быть преемник. Этот внешний ключ обнуляется, но при назначении несуществующего идентификатора я хочу выдать ошибку. Итак, я начал с этого
@Entity()
export class Path extends BaseEntity {
@PrimaryColumn() // I will set this manually
public id: string;
@OneToMany(() => Path, path => path.id, { nullable: true }) // relation setup
public successorId?: string;
}
Но я не уверен, нужно ли мне использовать OneToOne , OneToMany или ManyToOne . Итак,
- у одного пути может быть только один преемник
- один путь может быть преемником многих путей
Так что я думаю, что мой дизайн сущности, кажется, правильно, но я не уверен. Какой правильный декоратор использовать здесь с точки зрения дизайна базы данных? Было бы здорово, если бы кто-то мог помочь :) Кстати. Я сейчас поддерживаю Postgres и MS SQL.