본 캠프 17일차 TIL

정희준·2023년 4월 5일
0
post-thumbnail

📌 오늘의 내용

오늘은 설계한 erd를 바탕으로 typeorm을 활용하여 테이블을 생성하는 과정을 진행 하였다!

typeorm 데코레이터

  • @Entity : class가 실행될 때, typeorm에 의해 Entity 테이블을 만들어 줍니다.

  • @PrimaryGeneratedColumn('') : 자동으로 생성될 값의 컬럼입니다.

    • increment : 숫자로 데이터가 쌓일때마다 숫자가 하나 하나씩 올라가는 PK 키를 만들 수 있습니다.
    • uuid ( = Universal Unique IDentifier ) : 중복되지 않는 고유한 PK 키를 만들 수 있습니다.
  • @Column({ type : ‘text’ }) : ERD를 만들 때 타입을 지정해 주었는데, 코드로써는 엔티티에서 타입을 원하는대로 지정해 줄 수 있습니다.
    정해주지 않으면( 빈 괄호로 둘 경우) default 값으로 들어가게 됩니다.

  • boolean 타입을 만들때는 컬럼명 앞에 is 를 붙여줘서 이름만 보고도 boolean 타입인 것을 알 수 있게 사용하는 경우가 많습니다.

  • @OneToOne() : 두 테이블의 관계를 나타내는 것으로 @OneToOne( ) 은 한쪽에만 쓰거나, 양쪽에 모두 써줄 수 있습니다.

  • @ManyToOne() : N : 1 관계를 나타내는 데코레이터입니다.

  • @JoinColumn() : Many 부분에 해당하는 테이블 에서는 JoinColumn( ) 이 생략 가능합니다.

    • @ManyToOne( ) : @JoinColumn( ) 생략가능
    • @OneToOne( ) : @JoinColumn( ) 반드시 필요
  • @ManyToMany() : N :M의 관계를 가질 때는 두 테이블 모두 컬럼을 추가하여 연결해 주어야 합니다.

  • @JoinTable() : N : M 관계에서 생성되는 중간 테이블을 자동으로 만들어 주는 것으로 기준이 되는 테이블 한 쪽에만 작성해주면 됩니다.

위 개념을 통해 만들어둔 cgv erd를 데이터베이스에 생성해 주었고
DBeaver를 사용하여 데이터베이스와 erd의 엔티티 관계도를 비교해보았다



profile
같이 일하고 싶은 사람이 되어보자! 다시 시작하는 개발 블로그.

0개의 댓글