#nestjs #typeorm
Вопрос:
У меня есть таблица пользователей и продуктов, многие из которых связаны со многими:
@Entity('User')
export class User {
...
@ManyToMany(() => Product)
@JoinTable({ name: 'UserProduct' })
Products: Product[];
}
что, как и ожидалось, приводит к сгенерированной таблице UserProduct с 2 столбцами: идентификатор пользователя, ProductID — как мне их назвать, чтобы они соответствовали моим соглашениям? т. Е. Идентификатор пользователя, ProductID
Ответ №1:
Вы смотрели документы TypeORM для @JoinTable? Похоже, что они позволяют вам переопределить стандартное соглашение об именовании с использованием ваших конкретных требований к именованию столбцов joinColumn
.
Я думаю, ты хочешь чего-то подобного:
@JoinTable({
name: "UserProduct",
joinColumn: {
name: "UserId",
referencedColumnName: "id"
},
inverseJoinColumn: {
name: "ProductId",
referencedColumnName: "id"
}
})
Комментарии:
1. Спасибо! Я нашел способ переопределить с помощью JoinColumn, но не с помощью JoinTable — это отлично работает