import * as PgDrizzle from "@effect/sql-drizzle/Pg"
import { PgClient } from "@effect/sql-pg"
import { integer, pgTable } from "drizzle-orm/pg-core"
import { Effect, Layer, Redacted } from "effect"
export const SqlLive = PgClient.layer({
url: Redacted.make(process.env.DATABASE_URL!)
})
export const DrizzleLive = PgDrizzle.layer.pipe(
Layer.provide(SqlLive)
)
const DatabaseLive = Layer.mergeAll(SqlLive, DrizzleLive)
const t = pgTable('test', {
id: integer('id'),
})
Effect.gen(function*() {
const db = yield* PgDrizzle.PgDrizzle
db.select().from(t)
}).pipe(
Effect.provide(DatabaseLive),
Effect.runPromise
)
import * as PgDrizzle from "@effect/sql-drizzle/Pg"
import { PgClient } from "@effect/sql-pg"
import { integer, pgTable } from "drizzle-orm/pg-core"
import { Effect, Layer, Redacted } from "effect"
export const SqlLive = PgClient.layer({
url: Redacted.make(process.env.DATABASE_URL!)
})
export const DrizzleLive = PgDrizzle.layer.pipe(
Layer.provide(SqlLive)
)
const DatabaseLive = Layer.mergeAll(SqlLive, DrizzleLive)
const t = pgTable('test', {
id: integer('id'),
})
Effect.gen(function*() {
const db = yield* PgDrizzle.PgDrizzle
db.select().from(t)
}).pipe(
Effect.provide(DatabaseLive),
Effect.runPromise
)