코딩이야기

Follow 기획 본문

KnowHows

Follow 기획

기획자 비제이 2024. 6. 25. 21:00

 

 

 

Column Data Type Constraints
id SERIAL PRIMARY KEY
follower_id INTEGER NOT NULL, FOREIGN KEY (User.id)
following_id INTEGER NOT NULL, FOREIGN KEY (User.id)
status VARCHAR(20) DEFAULT 'active'
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

 

 

내가 A를  팔로잉 하게 되면 
나는 A의 입장에서는 팔로워가 되고, 내 입장에서는 A를 팔로잉 하게 된다. 
즉 follower_id = A , following_id = 나  이 두 관계가 동시에 성립

status라는 체크 필드를 하나 넣고, 상태를 기록한다. 
 acitve, blocked, request등등, 개발팀에서 정의된 용어를 사용해도 된다. 

또 status는 개발편의상 varchar로 했지만, db를 최대한 라이트하게 사용하고 싶을 때에는
프로그램 내부에 모듈을 하나 만들고, A, B, R과 같이 약어만 표기하고, 프로그램내에서 처리해도 무방하다. 

요약. 

1. 팔로잉과 팔로워는 동시 발생 이벤트 
2.  status 즉, 상태값을 처리하는 char 1 byte로도 어지간한 관계에 대한 정의가 가능