0
ActiveRecord에 대해 명확히 설명하고 싶습니다. 다음과 같은 시나리오가 있다고 가정 해 보겠습니다.유효성 검사에서 ActiveRecord 경쟁 조건
이제 기존 Song 인스턴스가 있고이를 업데이트하려고합니다. 여기서 경쟁 조건이 있지 않습니까? 특히 :
- 실행 노래 검증, 모든
- 내가가 발생하지 않도록하려면 어떻게 노래의 구매를 만들고
을 dB로
감사합니다.
ActiveRecord에 대해 명확히 설명하고 싶습니다. 다음과 같은 시나리오가 있다고 가정 해 보겠습니다.유효성 검사에서 ActiveRecord 경쟁 조건
이제 기존 Song 인스턴스가 있고이를 업데이트하려고합니다. 여기서 경쟁 조건이 있지 않습니까? 특히 :
을 dB로
감사합니다.
구매가 구매 모델에 영향을 미치고 노래의 업데이트가 노래 모델에 영향을줍니다.
ActiveRecord는 이러한 모델을 데이터베이스의 개별 테이블에 매핑하므로 개별적으로 액세스하는 것과 관련된 '경쟁 조건'이 없습니다.
그러나 노래를 삭제할 경우 구매 한 항목에 오류가 발생할 것입니다. 업데이트 대상이 아닌 해당 시나리오를 대상으로 지정하십시오.
또한 표준이어야하지만 노래의 기본 키는 업데이트하지 마십시오.
"경쟁 조건"이란 무엇입니까? – MrYoshiji
"경쟁 조건"은 두 프로세스가 개별적으로 발생하는 상황이며 어느 것이 먼저 발생할지 모르기 때문에 예측할 수없는 결과가 발생합니다. 나는 이것이 경쟁 조건의 사례라고 생각하지 않는다. –
노래 유효성 검사가 통과 된 후 노래가 DB에서 실제로 업데이트되기 전에이 노래에 대한 구매가 수행되지 않습니까? 특히 self.purchases의 값은 유효성 검사에서 호출 된 후에 변경 될 수 있습니다. 권리? – deruse