@prisma/adapter-neon
TypeScript icon, indicating that this package has built-in type declarations

5.13.0 • Public • Published

Prisma driver adapter for Neon serverless driver

Prisma driver adapter for Neon Serverless Driver. Refer to the announcement blog post and our docs for more details.

Note:: Support for Neon's serverless driver is available from Prisma versions 5.4.2 and later.

The Neon serverless driver is a low-latency Postgres driver for JavaScript and TypeScript that allows you to query data from serverless and edge environments.

Getting started

To get started, enable the driverAdapters Preview feature in your Prisma schema:

// schema.prisma
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["driverAdapters"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

Note: Make sure your connection string exists in your .env file. Refer to Neon's docs to learn how to retrieve your database's connection string.

DATABASE_URL="postgres://user:password@server.us-east-2.aws.neon.tech/neondb"

Generate Prisma Client:

npx prisma generate

Install the Prisma adapter for Neon's serverless driver, Neon's serverless driver and ws packages:

npm install @prisma/adapter-neon
npm install @neondatabase/serverless
npm install ws

Update your Prisma Client instance to use the Neon serverless driver using a WebSocket connection:

// Import needed packages
import { Pool, neonConfig } from '@neondatabase/serverless'
import { PrismaNeon } from '@prisma/adapter-neon'
import { PrismaClient } from '@prisma/client'
import ws from 'ws'

// Setup
neonConfig.webSocketConstructor = ws
const connectionString = `${process.env.DATABASE_URL}`

// Init prisma client
const pool = new Pool({ connectionString })
const adapter = new PrismaNeon(pool)
const prisma = new PrismaClient({ adapter })

// Use Prisma Client as normal

You can now use Prisma Client as you normally would with full type-safety. Your Prisma Client instance now uses Neon's serverless driver to connect to your database. This comes with benefits such as WebSocket connections and message pipelining.

Feedback

We encourage you to create an issue if you find something missing or run into a bug.

If you have any feedback, leave a comment in this GitHub discussion.

Readme

Keywords

none

Package Sidebar

Install

npm i @prisma/adapter-neon

Weekly Downloads

9,965

Version

5.13.0

License

Apache-2.0

Unpacked Size

49.2 kB

Total Files

7

Last publish

Collaborators

  • miguelff
  • apolanc
  • jkomyno
  • pirix-gh
  • sevinf
  • aqrln
  • luanvdw
  • jasonkuhrt
  • jolg42
  • nilubava
  • janpio
  • prismabot