Skip to content

ActionType, Wallet 테이블 데이터 seeding

Hyeong Chan Kim edited this page Dec 16, 2023 · 3 revisions

구조 설명

현재 어드민 페이지에서 사용자 행동과 월렛 항목을 DB로 관리하도록 기획이 됨에 따라 기존에 Enum으로만 사용되던 형태를 Enum과 DB가 혼재된 형태로 리팩토링하게 되었습니다. ActionTypeEnum이란 클래스로 Enum 형태로 관리가 되고 ActionType 테이블에서 DB 형태로 관리가 됩니다. 여기서 사용자 행동 추적 로직에 이용이 되는 데이터들을 Enum + DB 형태로 사용을 하고 그 외에 추적은 필요 없지만 단순 카테고리성 데이터로 필요한 녀석들은 DB에만 존재하는 형태가 되겠습니다. 그에따라 ActionType과 Wallet에는 이 Enum에 대응되는 seed data를 넣어놓아야하고, 나중에 업적/칭호 파트가 구현되면 해당 테이블에도 seed data가 필요합니다.

DB 구조

ActionType

  • code
    • 테이블의 PK이며 ActionType들을 구별하기 위한 고유값
  • action_type_name
    • 액션 타입명(ex. 가입, 글쓰기, 팀 결성)
  • is_deletable
    • 삭제 가능 여부, 후에 카테고리성으로 추가 되는 데이터들은 삭제가 가능하지만 추적 로직에 이용되는 데이터들은 삭제 불가

Wallet

  • action_type_code
    • ActionType 테이블에서 참조하는 FK이자 PK. 1:1 관계로 연결된다.
  • value
    • 월렛 값

seed data(2023.12.16 기준이며 추후 수정될 수 있습니다.)

ActionType

code action_type_name is_deletable
1 "가입" FALSE
2 "글쓰기" FALSE
3 "댓글쓰기" FALSE
4 "탈퇴" FALSE
5 "팀 결성" FALSE
6 "이벤트" FALSE

Wallet

action_type_code value
1 5
2 5
3 5
4 0
5 10
6 10
Clone this wiki locally