✏️ 테이블 구조
Users
Board
Comment
Circle
AdmissionForm
Hashtag
1. Users 테이블
Column Name | Data Type | Description |
---|
user_id(PK) | BIGINT | 사용자 ID |
name | VARCHAR | 이름 |
nickname | VARCHAR | 닉네임 |
email | VARCHAR | 이메일 |
roles | ENUM | 사용자 구분(비회원, 입부 희망자, 입부 신청자, 동아리 관리자, 시스템 관리자) |
password | VARCHAR | 비밀번호 |
created_at | DATETIME | 회원가입 날짜 |
last_seen | DATETIME | 마지막 접속 시간 |
circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) |
2. Board 테이블
Column Name | Data Type | Description |
---|
post_id (PK) | BIGINT | 게시글 ID |
user_id (FK) | BIGINT | 작성자 ID (Users 참조) |
circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) |
title | VARCHAR | 게시글 제목 |
content | TEXT | 게시글 내용 |
visibility | ENUM | 공개 범위 |
hashtag_id (FK) | BIGINT | 해시태그 ID (Hashtag 참조) |
is_notice | BOOLEAN | 공지사항 여부 |
created_at | DATETIME | 작성일 |
updated_at | DATETIME | 수정일 |
Column Name | Data Type | Description |
---|
comment_id (PK) | VARCHAR | 댓글 ID |
post_id (FK) | BIGINT | 게시글 ID (Board 참조) |
user_id (FK) | BIGINT | 작성자 ID (Users 참조) |
visibility | ENUM | 공개 범위 |
created_at | DATETIME | 작성일 |
updated_at | DATETIME | 수정일 |
3. Circle 테이블
Column Name | Data Type | Description |
---|
circle_id (PK) | BIGINT | 동아리 ID |
name | VARCHAR | 동아리 이름 |
description | TEXT | 동아리 소개 |
created_at | DATETIME | 생성일 |
questions | TEXT | 동아리 질문 리스트 (JSON) |
admin_user_id (FK) | BIGINT | 동아리 관리자 ID (Users 참조) |
hashtag_id (FK) | BIGINT | 해시태그 ID (Hashtag 참조) |
Column Name | Data Type | Description |
---|
form_id (PK) | BIGINT | 신청서 ID |
circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) |
user_id (FK) | BIGINT | 작성자 ID (Users 참조) |
form_content | TEXT | 신청서 내용 |
admission_date | DATETIME | 신청 날짜 |
status | ENUM | 신청 상태 |
Column Name | Data Type | Description |
---|
hashtag_id (PK) | VARCHAR | 해시태그 ID |
content | VARCHAR | 해시태그 내용 |
M:N 관계인 Hashtag - Board는 따로 연결용 테이블을 하나 생성해줘야 할듯