어제 저는 경쟁 조건을 피하기 위해 "select ... for update"개념을 필요로하는 일부 sqlalchemy 항목으로 작업하고있었습니다. 쿼리에 .with_lockmode('update')
를 추가하면 InnoDB의와 포스트 그레스에 치료를 작동하지만 SQLite는 대한 내가 선택을 수행하기 전에sqlalchemy에서 트랜잭션 동작을 업데이트하기 위해 sqlite select를 적용하는 방법
if session.bind.name == 'sqlite':
session.execute('begin immediate transaction')
에 몰래하는 것을 끝낸다.
이것은 현재는 효과가있는 것처럼 보이지만 부정 행위로 느껴집니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
'NullPool'이외의 연결 풀인 경우 필요합니다. 또는 다른 방법으로, dsn이'sqlite : /// : memory :'일 때? – SingleNegationElimination