Study/끄적끄적

ORM 없이 DB 접속하기

Juzdalua 2024. 9. 2. 14:39

C++ 컴파일러 버전 13.1.0을 사용하고 있다.

 

게임서버를 구성하던 중, 빠르게 작업물을 만들어 내기 위해 RawQuery로 먼저 작성하고 추후에 ORM으로 변경할 예정이었다. 

근데 쿼리에 변수를 삽입하는 과정에서 생각지 못한 문제가 발생했다.

 

- 컴파일러 버전이 낮아 최신 문법을 사용하여 간결하게 처리할 수 없음

- 억지로 문자열을 연결하려니 SQLInjection 문제가 떠오름

- 과도한 template 사용으로 코드가 지저분해짐

 

일단 해결한 방법으로는, 쿼리문은 unsigned int 타입의 id나 DATETIME 타입의 createdAt 이라도 문자열로 해석할 수 있으니 문자열 변수로 처리했다.

생각 없이 ${} 보간법을 사용하던 javascript가 왜 접근성이 좋았는지 새삼 느끼게 됐다.

빨리 ORM으로 교체하든, 컴파일러 버전을 올리든 해야겠다.