ERD
ft_transcendence_erd
ERD v0 (20221219)

ERD v1 (20221220)

channels
entity 와 channel_members
entity 의 관계를 1:N (mandatory, mandatory)로 변경.
match_history
entity 에 게임이 끝난 시점을 가리키는 end_at
attribute 추가. 전적에 게임이 끝난 순서대로 표시해줘야하기 때문에 저장.
- 기존에는
achievements
entity 에 achievement_name
attribute 밖에 없었는데, description
, image
가 필요하다고 판단. achievers
entity 를 통하여 특정 사용자가 이룬 업적을 저장하고, 업적에 대한 내용은 achievements
entity 에 분리하여 image_path
, description
, title
attribute 를 추가.
- channel room(말 그대로 다수의 채널)과 direct message room를 분리 및 식별하기 위한 수단으로
is_dm
추가.
- 현재 channel의 멤버 수를
member_cnt
로 저장 - 채널 최대 인원 제한을 판단하거나, 채널 폭파를 위한 조건 판단 등에 사용될 예정.
- 기존에는
channel_members
entity 에 is_banned
attribute 로 차단 인원들을 저장해뒀는데 차단되면, channel
에서 추방되기 때문에, channel_members
entity 에서 이 데이터를 저장하는게 합리적이지 않다. banned_members
라는 entity 를 만들어 channel 차단 관련 데이터 저장.
- mute 와 ban 이 시간제한이 있기 때문에 mute/ban 이 끝나는
*_end_time
을 저장해 유저가 액션(메시지 송신/채널 참여)을 취한 시간이 *_end_time
이전이면 해당 액션이 수행되지 않게 하기로 결정.
user_one_id
로부터 user_two_id
에게 보내진 친구 요청 request가 수락되었는지 is_accepted
로 판단한다. true인 경우 오른쪽 하단 친구 toggle의 내 친구 리스트에 표시되며, false인 경우 친구 요청 리스트에 표시된다.