1.3.0 • Published 10 months ago
kysely-neon v1.3.0
kysely-neon
Kysely dialect for Neon serverless postgres.
Created with help from kysely-d1 and the neon serverless binding
Setup
Edge runtime:
npm i kysely-neon kysely @neondatabase/serverless
Node.js:
npm i kysely-neon kysely @neondatabase/serverless ws
Usage
Edge runtime:
import { GeneratedAlways, Kysely } from "kysely"
import { NeonDialect } from "kysely-neon"
interface Database {
person: PersonTable
}
interface PersonTable {
id: GeneratedAlways<number>
first_name: string
gender: "male" | "female" | "other"
}
const db = new Kysely<Database>({
dialect: new NeonDialect({
connectionString: process.env.DATABASE_URL,
}),
})
await db
.insertInto("person")
.values({ first_name: "Jennifer", gender: "female" })
.returning("id")
.executeTakeFirstOrThrow()
Node.js:
import { GeneratedAlways, Kysely } from "kysely"
import { NeonDialect } from "kysely-neon"
import ws from "ws"
interface Database {
person: PersonTable
}
interface PersonTable {
id: GeneratedAlways<number>
first_name: string
gender: "male" | "female" | "other"
}
const db = new Kysely<Database>({
dialect: new NeonDialect({
connectionString: process.env.DATABASE_URL,
webSocketConstructor: ws,
}),
})
await db
.insertInto("person")
.values({ first_name: "Jennifer", gender: "female" })
.returning("id")
.executeTakeFirstOrThrow()