rails에서 belongs_to 마이그레이션 작성 규칙
조회수 1706회
모델에 belongs__to , has_many 같은걸로 관계를 연결해주고 있습니다
헌데 rails를 접한지 얼마안되서 외래키라던지 정규화에 대해서 마이그레이션 규칙을 잘모르겠습니다
그냥 references 형 으로 생성한 int형에 validate 만 외래키 걸어주면 되나요?
아니면 진짜 엄격하게 마이그레이션에서 FK 걸고 CASCADE 같은 옵션을 줘야 하나요?
책하고 가이드에서 모델항목과 association 항목을 보아도 이런 요령이 없네요
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
database에서 무결성을 관리하려면 foreign key를 사용하면 되는데 애플리케이션에서 관리하는 방법도 많이 사용합니다.
belongs_to
나has_many
association의:dependent
옵션을 사용하면 동일한 효과를 볼 수 있습니다.예를 들어
has_many
의:dependent
에는 다음과 같은 옵션이 있습니다.:destroy
owner가 삭제되면 관련된 객체의 destroy 메소드 호출 (callback 호출됨):delete_all
owner가 삭제되면 database에서 삭제 (callback 호출 안됨):nullify
foreign key를 NULL로 변경:restrict_with_exception
관련된 객체가 하나 이상있으면 exception 발생-
:restrict_with_error
관련된 객체가 하나 이상있으면 owner 객체제 error 추가
이러한 방식이 database에서 관리하는 것보다 다양한 옵션이 있고, 소스에서 명시적으로 보이는 점 등 장점이 더 크다고 생각합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력