DrizzleORM v0.30.0 릴리스
Mar 7, 2024

주요 변경 사항

모든 드라이버의 동작을 일관되게 맞추기 위해 Postgres 타임스탬프 매핑이 변경되었습니다.

❗ postgres.js 드라이버 인스턴스가 날짜를 항상 문자열로 반환하도록 수정했으며, Drizzle은 선택한 mode에 따라 문자열 또는 매핑된 날짜를 제공합니다. 발생할 수 있는 유일한 문제는 Drizzle 내부에 postgres.js 드라이버 인스턴스를 제공하면 해당 객체의 날짜 동작이 변경되어 항상 문자열이 된다는 점입니다.

이 변경 사항을 마이너 릴리스로 적용하면서 다음 사항을 알려드립니다:

postgres.js에서 변경된 파서입니다.

const transparentParser = (val: any) => val;

// Override postgres.js default date parsers: https://github.com/porsager/postgres/discussions/761
for (const type of ['1184', '1082', '1083', '1114']) {
	client.options.parsers[type as any] = transparentParser;
	client.options.serializers[type as any] = transparentParser;
}

이상적으로는 거의 모든 다른 드라이버와 마찬가지로 쿼리별로 매핑을 변경할 수 있어야 하며, 이는 드라이버 클라이언트가 변경되지 않음을 의미합니다. postgres.js 라이브러리 제작자에게 쿼리별 매핑 인터셉터 지정 가능성에 대해 문의하여 모든 사용자를 위해 이 흐름을 더욱 개선할 예정입니다.

이 기능을 놓쳤고 이미 postgres.js에서 사용 가능한 경우 Discord에서 알려주세요!

타임존이 있는 타임스탬프와 없는 타임스탬프에 대한 추가 참조는 문서에서 확인할 수 있습니다.

postgres.js 드라이버와 Drizzle 시작하기 문서는 여기에서 확인하세요.

버그 수정