SQLAlchemy(2)
-
pyMysql에서 collation과 useSSL 적용하기
Mysql 8.0 으로 업그레이드를 진행하면서, default 값으로 사용하던 collation과 useSSL을 명시적으로 선언해야 할 필요가 있었다.그래서 아래와 같은 요청을 받게 되었다. jdbc:mysql://localhost:3306/schema?connectionCollation=utf8mb4_unicode_ci&useSSL=false 나의 경우 SQLAlchemy + pyMySQL을 사용하고 있었기 때문에 아래와 같이 db url을 수정하고 테스트를 진행했다. mysql+pymysql://localhost:3306/schema?connectionCollation=utf8mb4_unicode_ci&useSSL=false 하지만 아래와 같은 에러가 발생!! unexpected keyword arg..
2024.08.20 -
[Python] Sqlalchemy ON DUPLICATE KEY UPDATE
DB를 사용함에 있어 PK가 있는 경우에는 Update를, PK가 없는 경우에는 Insert를 써야 하는 경우가 많다. Django에서는 insert_or_update라는 함수를 따로 제공해 줘서 이 API를 이용했던 기억이 있는데, sqlalchemy 같은 경우에는 이러한 기능을 따로 제공하지 않는 것 같다. 찾아본 결과 sql 쿼리를 직접 날려서 insert_or_update를 처리하거나, select를 해서 pk 여부를 확인한 후 insert를 하는 방법 이렇게 두가지 방법을 확인하였으며, 두 번째 방법으로 insert_or_update 구현하기로 하였다.(사실 oracle처럼 merge란 방법을 쓰란 것도 있었는데, 이건 진짜 도통 모르겠어서 패쓰~) 간략하게 코드 설명을 하자면, 우선 연결되어 ..
2015.06.22