Rails에서 트랜잭션 안에 HTTP 리퀘스트 있는 경우 명시적 롤백 처리





레일즈 롤백


Rails에서 강제로 transaction rollback 하기

  • HTTP 요청이 transaction 안에 포함되어 HTTP 요청 실패시 DB를 rollback 할 경우에는 명시적으로 rollback 해줘야 함!

    def rollback_test
    transaction do
      begin
        self.name = '테스트'
        self.status = 'success'
        self.save!
     
        # HTTP 요청
        http_request_test.update!
      rescue
        # 명시적 Rollback
        raise ActiveRecord::Rollback
      end
    end
    end


댓글

이 블로그의 인기 게시물

ansible ssh 접속 에러 해결

OpenWeatherMap API 이용해서 날씨 데이터 가져오기