스택:
postgresql - flask - sqlalchemy
상황:
이미지 파일을 업로드함
1. 어떤 이미지 insert시 (k1,k2로 구분)에 대해 d컬럼에 k1/k2가 입력됨
2. 만약 어떤 이미지 대하여 a, b, c 컬럼값이 동일할경우 d컬럼에 k1일경우 k2가 추가되면 k1/k2로 입력됨 (반대도 동일)
에러상태:
2번의 과정을 처리하면서
insert를 해보고 on_confilct_do_update를 처리하여 update가 됨
문제는 insert를 시도해서 conflict가 발생해도 serial id는 자동으로 증가함
이를 해결하기 위해 rollback처리도 해보았지만 insert가 되는 순간 auto increse가됨
해결방법:
try-catch를 사용하여 one으로 값을 찾아봄
except NoResultFound가 나오면 insert 시도
아니면 else를 통해 update 구문 실행
반응형
최근댓글