2014-05-14 3 views
2

일반적으로 :dependent => :destroy 또는 :dependent => :delete을 지정하는 경우 AR은 각 연결 행에 대해 DELETE 쿼리를 호출합니다. ModelName.delete(batch_of_ids) AR을 사용하는 경우 DELETE ... FROM ... WHERE ... IN (batch_of_ids)과 같은 단일 수취라고 부릅니다. 정의 자체 메서드없이 단일 쿼리로 연결을 파기 할 수 있습니까? 예를 들어 activerecord-import 보석과 같지만 삭제할 수 있습니다.단일 요청으로 ActiveRecord 연결 삭제

+1

'A' <-'B' <-'C'의 세 가지 모델이 있고'A '인스턴스를 삭제 하시겠습니까? –

+0

깊은 유산의 경우에는이 일이 쓸모가 없습니다. MyClass user3240646

+2

후드에서 무슨 일이 일어나는지 확인하지는 않았지만'dependent : : delete_all'은 어떨까요? – jvnill

답변

0

dependent: :delete_all을 사용하면 단일 쿼리의 모든 레코드를 삭제할 수 있습니다.