인프런 커뮤니티 질문&답변
ManyToMany 테이블이 자동으로 만들어지지 않습니다..
해결된 질문
작성
·
409
0
import { ProductCategory } from 'src/apis/productsCategories/entites/productCategory.entity';
import { ProductSaleslocation } from 'src/apis/productsSaleslocations/entities/productSaleslocation.entity';
import { ProductTag } from 'src/apis/productsTags/entities/productTag.entity';
import { User } from 'src/apis/users/entities/user.entity';
import {
  Column,
  Entity,
  JoinColumn,
  JoinTable,
  ManyToMany,
  ManyToOne,
  OneToOne,
  PrimaryGeneratedColumn,
} from 'typeorm';
@Entity()
export class Product {
  @PrimaryGeneratedColumn('uuid')
  id: string;
  @Column()
  name: string;
  @Column()
  description: string;
  @Column()
  price: number;
  @Column({ default: false })
  isSoldout: boolean;
  @JoinColumn() // 1:1 연결에서는 두 테이블 중 중심을 정하는 JoinColumn을 달아주어야한다.
  @OneToOne(() => ProductSaleslocation) // 일대일 연결. 어떤 테이블이랑 연결될지 표기. ProductSaleslocation 테이블과 연결 할 것이다.
  productSaleslocation: ProductSaleslocation; // 그 때 사용되는 Column은 productSaleslocation이고 타입은 다음과 같다, FK
  @ManyToOne(() => ProductCategory) // many가 Product 한개인게 Category
  productCategory: ProductCategory; // FK
  @ManyToOne(() => User)
  user: User;
  @JoinTable() // ManyToMany는 둘 중 하나에 JoinTable 작성
  @ManyToMany(() => ProductTag, (productTags) => productTags.products) // 상대방 입장에서 나를 볼 때 products
  productTags: ProductTag[]; // 객체가 여러개이기 떄문에 객체 배열타입 사용
}
import { Product } from 'src/apis/products/entities/product.entity';
import { Column, Entity, ManyToMany, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class ProductTag {
  @PrimaryGeneratedColumn('uuid')
  id: string;
  @Column()
  name: string;
  @ManyToMany(() => Product, (products) => products.productTags)
  products: Product[];
}

ManyToMany 설정했는데.. product_product_tags_product_tag 테이블이 자동으로 생성이 안되네요. 코드 말고 건드려줘야 할 부분이 있나요?
답변 2
1
0
노원두
지식공유자
안녕하세요! karmesin924님!
올려주신 코드는 잘 작성해 주신 것 같아요!
데이터베이스 이름을 선택하여 마우스 오른쪽버튼을 눌러서 새로고침을 한 번 해보시겠어요?!
아무데서나 새로고침하시면 안되시구, 데이터베이스명을 선택하여 새로고침을 해보세요!







