TypeORM: Как явно установить ForeignKey, не имея свойства для загрузки отношений? - PullRequest
0 голосов
/ 14 марта 2019

Я не хочу создавать свойство для загрузки в него отношения (как показано во всех примерах). Единственное, что мне нужно, это иметь явное свойство внешнего ключа , чтобы миграция могла создать соответствующие ограничения для него в базе данных. Ближайший декоратор, который мне нужен, это @ RelationId , но он все еще требует наличия свойства реляционного класса.

Для ясности возьмем пример из документации:

@Entity()
export class Post {
    @ManyToOne(type => Category)
    category: Category;

    @RelationId((post: Post) => post.category) // it still requires the presence of the `category` proeprty
    categoryId: number;

}

Мне не нужно свойство category здесь. Я хочу иметь свойство categoryId и пометить его как внешний ключ до Category.Id. Это должно выглядеть так:

@Entity()
export class Post {

    @ForeignKey((category: Category) => category.Id) // it's a foreign key to Category.Id
    categoryId: number;

}

Возможно ли это?

...