-
Notifications
You must be signed in to change notification settings - Fork 0
DB 변경 사항
jwoo edited this page Jan 5, 2024
·
6 revisions
- 칼럼명을 카멜 케이스에서 스네이크 케이스로 변경
- 테이블명을 단수로 통일
- info 라는 접미사 제외
- 생성 및 삭제 시간을 알 수 있도록 timestamp 찍기
- 게시판은 임시로 닫을 예정이므로, 게시판 관련 테이블(
board
,board_comment
,board_attend_members
,image_info
) 제외
- 구글 OAuth 도입으로
password
삭제 -
intra_id
는 42에서만 특수하게 쓰이는 표현이므로intra_id
→nickname
변경-
nickname
굳이 pk로 사용하지 않고 유니크 속성만 부여
-
- 미인증 유저, 신규 사서, 기존 사서, 관리자 등 다양한 역할에 따른 권한을 부여하기 위해
isAdmin → role
변경 - 프로필 사진 주소라는 의미를 명확하게 드러내기 위해서
profile
→profile_image_url
변경 - 슬랙 멤버 아이디라는 의미를 명확하게 드러내기 위해서
slack_id → slack_memeber_id
변경 - 사서 활동 여부라는 의미를 명확하게 드러내기 위해서
can_attend
→is_active
변경 - 추후 다른 OAuth를 도입할 수도 있으므로,
email
보단google_email
사용
-
event
는 범용적으로 쓰이는 단어이므로 테이블명을meetup
으로 변경-
cqrs
라이브러리의EventBus
를 사용하는데, 단어가 같으면 혼동이 생길 것으로 예상됨
-
- 밋업 이벤트를 생성한 유저라는 의미를 명확히 하기 위해
create_id
→create_user_id
변경 -
isMatching
보다 팀 매칭 시각을 기록하는matched_at
로 변경하여 시간도 기록하고 팀 매칭 여부도 판단
- 무엇에 대한 참석 정보인지 명확하지 않으므로 테이블 명을 밋업 이벤트 참석자라고 명시
- 기존에는 사서 로테이션 신청 정보와 사서 로테이션 확정일 정보가 한 테이블에 있었으나, 주제에 따라 분리
- 유저의 닉네임은 변경될 수도 있는 요소이니 user의 pk를 외래키로 가져다 쓰는 것을 제안.
intra_id
→user_id
- 로테이션 배정에 반영하는 참석 불가일
attendLimit
은string
→json
타입 변경- 사실 json을 쓰는 것보다 원자값을 가질 수 있도록 행을 분리하는게 정규화하는 방법이지만, 해당 컬럼은 정규화해서 얻는 이점이 크지 않아 보임
- 참석 불가일 수정된다고 가정했을때, json 내부 값이 변경 되는 게 아니라 칼럼 값 자체가 통째로 변경됨
- 로테이션 확정일은 참석 불가일과 달리
attendDate
→day
원자값을 가지도록 행 분리- 행을 분리해도 데이터가 양이 크게 늘어나지 않고, 추후 로테이션 확정일 생성/삭제/수정 시 좀 더 깔끔한 로직으로 할 수 있음
- 로테이션 수정은 본인이 아닌 타인 것도 수정 가능하므로, 최근에 누가 수정했는지 기록하기 위해
update_user_id
도입
- 나중에 대한민국 휴일뿐만 아니라 자체 휴일을 넣을 수도 있으므로 로테이션 휴뮤일이라는 의미를 드러내도록 테이블명 변경