십 여년 전 - 태그드 템플릿 없던... - 에 웹 서버에 데이터베이스 조회/수정할 때 SQL 을 직접 사용했는데 (인터폴레이션 등등) 요즘 트랜드는 메소드 호출이 중심이다. 그 와중 bun 에 담긴 sql 패키지를 보면 직접 SQL 을 사용하되 Type-safe 를 보장하는 쪽으로 구현되고 있고, Effect-ts 같은 곳에서도 메소드 체인 대신 SQL 문을 쓴다.
이런 시도는 Node.js 패키지에서도 볼 수 있는데 (물론 오래 전에 공개된 문서이긴 하다) https://contra.com/p/AqZWWoUB-writing-composable-sql-using-java-script 에서 자세히 설명하고 있다. 작성자는 Slonik
패키지의 저자이기도 하다.
이 맥락에 수긍이 간다는 생각의 배경에는 데이터베이스와 애플리케이션 서버는 다른 세상이라는 관점을 가지게 되어서이다. 둘은 혼용해서 사용할 수 없는 사이(관계)라고 본다. 늘 매퍼가 필요하고 타입 변환이 필요하다. 두 세계를 통합하려는 시도는 여전히 있겠지만 요즘 나는, 그러지 않아도 된다고 얘기한다. 다른 세계를 인정하고 예상하는 오류를 줄이는 것이 최선이다.