외래키, 기본키 옵션, 속성 오류이다.
상점 엔티티
@PrimaryGeneratedColumn({ type: 'int', unsigned: true })
id: number;
@Column({ type: 'int', unsigned: true })
user_id: number;
@OneToOne(() => User, (user) => user.store)
@JoinColumn({ name: 'user_id' })
user: User;
@OneToMany(() => Review, (review) => review.store)
review: Review;
@OneToMany(() => StoreProduct, (storeProduct) => storeProduct.store)
storeProduct: StoreProduct;
user 엔티티
export class User {
@PrimaryGeneratedColumn({ type: 'int', unsigned: true })
id: number;
@Column({ type: 'enum', enum: UserRole, default: UserRole.CUSTOMER })
role: UserRole;
@OneToOne(() => Store, (store) => store.user)
store: Store;
@OneToMany(() => Review, (review) => review.user)
review: Review[];
@OneToMany(() => Order, (order) => order.user)
order: Order[];
@OneToMany(() => CartItem, (cartItem) => cartItem.user)
cartItem: CartItem[];
}
서로 관계를 맺은 엔티티의 id 타입이 동일하고 옵션도 같게 설정해야한다.