-
Notifications
You must be signed in to change notification settings - Fork 1
database
DongKwon Kim edited this page Apr 13, 2025
·
17 revisions
erDiagram
USERS ||--|{ PERSONAL_EVENT : "1 to many"
USERS ||--|{ CALENDAR : "1 to many"
USERS ||--|{ REFRESH_TOKEN : "1 to many"
CALENDAR ||--|{ PERSONAL_EVENT : "1 to many"
USERS ||--|{ DISCUSSION_PARTICIPANT : "1 to many"
DISCUSSION ||--|{ DISCUSSION_PARTICIPANT : "1 to many"
DISCUSSION ||--|| SHARED_EVENT : "1 to 1"
%% USERS
USERS {
bigint id PK "NN"
varchar(120) name "NN"
varchar(320) email "NN"
varchar(2048) access_token "NN"
varchar(512) refresh_token
varchar(2083) picture "NN"
datetime created_at
datetime updated_at
}
%% REFRESH_TOKEN
REFRESH_TOKEN {
bigint id PK "NN"
bigint user_id FK "NN"
varchar token "NN"
datetime expiration "NN"
datetime created_at
datetime updated_at
}
%% CALENDAR
CALENDAR {
bigint id PK "NN"
bigint user_id FK "NN"
varchar(255) name "NN"
varchar(1024) description
varchar(1024) sync_token
varchar(1024) calendar_id "NN"
varchar(255) channel_id
varchar(255) resource_id
datetime channel_expiration
datetime created_at
datetime updated_at
}
%% PERSONAL_EVENT
PERSONAL_EVENT {
bigint id PK "NN"
bigint user_id FK "NN"
varchar(1024) title "NN"
datetime start_time "NN"
datetime end_time "NN"
tinyint is_adjustable
varchar(1024) calender_id
varchar(1024) google_event_id
datetime created_at
datetime updated_at
}
%% DISCUSSION (논의)
DISCUSSION {
bigint id PK "NN"
varchar(255) title "NN"
date date_range_start "NN"
date date_range_end "NN"
time time_range_start "NN"
time time_range_end "NN"
int duration "NN"
varchar(10) meeting_method "NN"
varchar(255) location
datetime deadline "NN"
varchar(10) discussion_status "NN"
varchar(128) password
date fixed_date
datetime created_at
datetime updated_at
}
%% DISCUSSION_PARTICIPANT (논의 참여자)
DISCUSSION_PARTICIPANT {
bigint id PK "NN"
bigint discussion_id FK "NN"
bigint user_id FK "NN"
int user_offset "NN"
tinyint is_host "NN"
datetime created_at
datetime updated_at
}
%% role: host, attendee
%% SHARED_EVENT (최종 확정 공유 일정)
SHARED_EVENT {
bigint id PK "NN"
bigint discussion_id FK "NN"
datetime start_time "NN"
datetime end_time "NN"
datetime created_at
datetime updated_at
}