[ 프로젝트 ] 스키마 변경 및 엔티티 생성

김민석·2021년 6월 28일
1

WORKOUT!

목록 보기
5/18

1. 우선 프로젝트를 폴더 별로 분리해놓았다.

2. 스키마를 중심으로 entity들을 생성하였다.

  • 우선 나는 Active Record 방식을 활용하기로 하였다. 둘 간의 차이를 확인했을 때, AR 방식이 더 직관적으로 와닿았기 때문이다.

BaseEntity에 대부분의 필요 method가 정의되어 있다고 한다. 아직 그것들을 사용해보진 못했다

  • constructor를 잘 활용하면 각 엔드포인트 작성시 필요한 값임에도 누락되는 부분이 없게 만들 수 있을 것으로 보인다. (공식 문서를 보면서 유추한 관계로 확실하진 않다.)

    문서를 읽다보면 여기에 constructor 안의 인자들이 ?를 추가하여 optional로 만들어야 한다는 문구가 있다. 그런데 찾다보니 이전 버전에서만 해당되는 것 같다. 우선 아무 문제가 없으므로 optional로 표시하지 않았다. 오류 생기면 이 부분부터 의심해보자.

3. 스키마를 수정하였다.

entity를 만들면서 스키마 수정이 필요한 것들이 있었다.

  1. program과 user 간의 관계를 수정하였다.
  • program을 처음 만든 사람이(owner)있을 것이므로, program:user = n:1 관계를 설정해주엇다. ('owner')
  • 그 program을 공유 하는 행위를 했을 때, program을 새로 만드는 것이 아니라 join table을 활용해서 재사용하고자 하였다.
  1. 데이터 베이스들의 이름을 단수로 바꾸어주었다.
  • typeORM을 사용하다보니 단수로 작성하는게 편했다.
  1. created_at이 필요없어 보이는 것에서는 그냥 삭제하였다.
  • 추후 더 늘어날 수 도 있고 줄어들 수도 있다.

0개의 댓글