[TIL051] supabase RESTRICT, CASCADE, NO ACTION, SET NULL

SEONG CHAN LEE·2024년 7월 30일

TIL

목록 보기
51/53

20240730 51일차


supabase 외래키 설정

Action if referenced row is updated, Action if referenced row is removed

supabase에서 외래키 설정 시에 나오는 항목이다.

각각 말 그대로 참조된 행이 업데이트 됐을 때, 삭제 됐을 때 어떻게 동작을 할 것인지 정하는 것이다.

CASCADE (종속) : 개체가 변경/삭제 됐을 때, 참조된 개체도 같이 삭제된다.
만약에 users 테이블의 user_id와 posts 테이블의 id값을 외래키로 연결 했을 때 해당 user_id값을 가진 유저가 계정을 삭제한다면 해당 post 값도 삭제되게 된다.

NO ACTION (동작 없음) : 개체가 변경/삭제됐을 때, 참조된 개체는 변경하지 않는다.
위와 같은 예시라면, post 값은 남아 있게 된다.

SET NULL (NULL로 설정) : 개체가 삭제됐을 때, 참조된 개체의 값을 Null로 바꾼다.

RESTRICT (제한) : 개체를 변경/삭제하려 할 때, 참조된 개체가 있다면 변경/삭제를 제한한다.


백엔드 영역이다보니 supabase를 처음 접했을 때 혼란이 왔지만, 알아두면 좋을 것 같다.

profile
Develop myself

2개의 댓글

comment-user-thumbnail
2024년 7월 31일

저는 cascade를 순장이라고 생각하고 기억했어용..😀

1개의 답글