const pgDbMake = Effect.gen(function* () {
const connection = postgres(env.DATABASE_URL)
const db = drizzle(connection, { schema });
return yield* Effect.succeed({
connection,
db,
schema,
closeConnection: () => connection.end(),
})
})
export class PgDb extends Context.Tag("PgDb")<
PgDb,
Effect.Effect.Success<typeof pgDbMake>
>() {
static readonly Live = Layer.effect(this, pgDbMake);
}
const pgDbMake = Effect.gen(function* () {
const connection = postgres(env.DATABASE_URL)
const db = drizzle(connection, { schema });
return yield* Effect.succeed({
connection,
db,
schema,
closeConnection: () => connection.end(),
})
})
export class PgDb extends Context.Tag("PgDb")<
PgDb,
Effect.Effect.Success<typeof pgDbMake>
>() {
static readonly Live = Layer.effect(this, pgDbMake);
}