0

ActiveRecord 모델에서 원형 dependent: :destroy 옵션을 사용하는 것이 안전합니까?원형 의존성 : : ActiveRecord에서 파괴가 가능합니까?

class Student < ActiveRecord::Base 
    has_one :user, dependent: :destroy 
end 
class User < ActiveRecord::Base 
    belongs_to :student, dependent: :destroy 
end 

나는 user을 삭제하면 연관된 student을 삭제해야합니다. 그 반대.

답변

0

예. AR은 단일 트랜잭션 내에서 각 엔티티에 대한 삭제 쿼리를 발행합니다. 따라서 사용자에게 2 명의 학생 (a와 b)가 있다고 가정 해 봅시다. 학생 a를 삭제하면 AR이 학생 a를 삭제하여 사용자 삭제로 인해 학생 b가 삭제되어 최종 사용자 중복 삭제가 발생합니다. 중복 삭제 (성능 저하 제외)는 오류를 발생시키지 않습니다. 반대로 사용자 삭제도 정상적으로 작동합니다.

+1

Rails/ActiveRecord에서 표준 방식입니까? –