이 페이지는 Drizzle 버전 1.0.0-beta.9 이상에서 사용 가능한 기능을 설명합니다.
Effect는 현재 PostgreSQL에서만 사용 가능하며, 곧 다른 모든 데이터베이스에도 구현될 예정입니다.
업그레이드 방법은 여기를 참조하세요.
이 페이지는 Drizzle 버전 1.0.0-beta.9 이상에서 사용 가능한 기능을 설명합니다.
Effect는 현재 PostgreSQL에서만 사용 가능하며, 곧 다른 모든 데이터베이스에도 구현될 예정입니다.
업그레이드 방법은 여기를 참조하세요.
Drizzle은 @effect/sql-pg 드라이버를 통해 Effect PostgreSQL 연결을 네이티브로 지원합니다.
npm i drizzle-orm effect @effect/sql-pg pg
npm i -D drizzle-kit
import 'dotenv/config';
import { drizzle } from 'drizzle-orm/effect-postgres';
import { Effect, Redacted } from 'effect';
import { PgClient } from '@effect/sql-pg'
import { types } from 'pg';
const clientLayer = PgClient.layer({
url: Redacted.make(process.env.DATABASE_URL!);
types: {
getTypeParser: (typeId, format) => {
if ([1184, 1114, 1082, 1186, 1231, 1115, 1185, 1187, 1182].includes(typeId)) {
return (val: any) => val;
}
return types.getTypeParser(typeId, format);
},
},
});
const program = Effect.gen(function*() {
const client = yield* PgClient.PgClient;
const db = drizzle(client, { logger: true, /*...*/ });
});
await Effect.runPromise(program).pipe(Effect.provide(clientLayer));