Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions orm/betterauth-nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,23 @@
"start": "next start"
},
"dependencies": {
"@prisma/client": "6.18.0",
"@prisma/extension-accelerate": "2.0.2",
"better-auth": "1.3.34",
"@prisma/client": "^6.19.0",
"@prisma/adapter-pg": "^6.19.0",
"better-auth": "1.3.24",
"next": "15.5.4",
"react": "19.1.0",
"react-dom": "19.1.0"
},
"devDependencies": {
"@eslint/eslintrc": "3.3.1",
"dotenv": "^17.2.1",
"@tailwindcss/postcss": "4.1.14",
"@types/node": "24.6.2",
"@types/react": "19.1.0",
"@types/react-dom": "19.1.0",
"eslint": "9.36.0",
"eslint-config-next": "15.5.4",
"prisma": "6.18.0",
"prisma": "6.19.0",
"tailwindcss": "4.1.14",
"typescript": "5.9.3"
}
Expand Down
15 changes: 15 additions & 0 deletions orm/betterauth-nextjs/prisma.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { defineConfig, env } from 'prisma/config'
import 'dotenv/config'

export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
engine: 'classic',
datasource: {
url: env('DATABASE_URL'),
},
})


1 change: 0 additions & 1 deletion orm/betterauth-nextjs/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// learn more about it in the docs: https://pris.ly/d/prisma-schema

// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init

generator client {
provider = "prisma-client"
Expand Down
5 changes: 3 additions & 2 deletions orm/betterauth-nextjs/src/lib/prisma.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { PrismaPg } from '@prisma/adapter-pg'
import { PrismaClient } from '@/generated/prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'

const prisma = new PrismaClient().$extends(withAccelerate())
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter: pool })

const globalForPrisma = global as unknown as { prisma: typeof prisma }

Expand Down
40 changes: 12 additions & 28 deletions orm/nextjs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,22 +65,21 @@ We found an existing schema.prisma file in your current project directory.

--- Database URL ---

Connect Prisma ORM to your Prisma Postgres database with this URL:

prisma+postgres://accelerate.prisma-data.net/?api_key=...
Connect Prisma ORM to your Prisma Postgres database with the provided URL and add it to your `.env` as `DATABASE_URL`.

--- Next steps ---

Go to https://pris.ly/ppg-init for detailed instructions.

1. Install and use the Prisma Accelerate extension
Prisma Postgres requires the Prisma Accelerate extension for querying. If you haven't already installed it, install it in your project:
npm install @prisma/extension-accelerate

...and add it to your Prisma Client instance:
import { withAccelerate } from "@prisma/extension-accelerate"

const prisma = new PrismaClient().$extends(withAccelerate())
1. Install the `@prisma/adapter-pg` driver adapter and configure your Prisma Client instance
```bash
npm install @prisma/adapter-pg
```
```ts
import { PrismaPg } from '@prisma/adapter-pg'
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter: pool })
```

2. Apply migrations
Run the following command to create and apply a migration:
Expand Down Expand Up @@ -112,7 +111,7 @@ Now, paste the URL into it as a value for the `DATABASE_URL` environment variabl

```bash
# .env
DATABASE_URL=prisma+postgres://accelerate.prisma-data.net/?api_key=ey...
DATABASE_URL=postgres://<username>:<password>@<host>:<port>/<database>
```

Run the following command to create tables in your database. This creates the `User` and `Post` tables that are defined in [`prisma/schema.prisma`](./prisma/schema.prisma):
Expand Down Expand Up @@ -204,24 +203,9 @@ Learn more about the different connection configurations in the [docs](https://w

<details><summary>Expand for an overview of example configurations with different databases</summary>

### Remove the Prisma Client extension

Before you proceed to use your own database, you should remove the Prisma client extension required for Prisma Postgres:

```terminal
npm uninstall @prisma/extension-accelerate
```

Remove the client extension from your `PrismaClient` instance:

```diff
- const prisma = new PrismaClient().$extends(withAccelerate())
+ const prisma = new PrismaClient()
```

### Your own PostgreSQL database

To use your own PostgreSQL database remove the `@prisma/extension-accelerate` package and remove the Prisma client extension.
To use your own PostgreSQL database, set `DATABASE_URL` to your connection string (e.g. `postgres://<username>:<password>@<host>:<port>/<database>`). Ensure your app initializes `PrismaClient` with the `@prisma/adapter-pg` driver adapter as shown above.

### SQLite

Expand Down
5 changes: 3 additions & 2 deletions orm/nextjs/lib/prisma.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { PrismaPg } from '@prisma/adapter-pg'
import { PrismaClient } from '../app/generated/prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'

const prisma = new PrismaClient().$extends(withAccelerate())
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter: pool })

const globalForPrisma = global as unknown as { prisma: typeof prisma }

Expand Down
15 changes: 6 additions & 9 deletions orm/nextjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,27 @@
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
"lint": "next lint",
"postinstall": "prisma generate"
"lint": "next lint"
},
"dependencies": {
"@prisma/client": "6.18.0",
"@prisma/adapter-pg": "^6.19.0",
"@prisma/client": "^6.19.0",
"next": "15.3.5",
"react": "19.1.0",
"react-dom": "19.1.0",
"@prisma/extension-accelerate": "2.0.2"
"react-dom": "19.1.0"
},
"devDependencies": {
"@eslint/eslintrc": "3.3.1",
"@types/node": "22.18.12",
"@types/react": "19.1.8",
"@types/react-dom": "19.1.6",
"dotenv": "^17.2.1",
"eslint": "9.30.1",
"eslint-config-next": "15.3.5",
"postcss": "8.5.6",
"prisma": "6.18.0",
"prisma": "6.19.0",
"tailwindcss": "3.4.17",
"tsx": "4.20.6",
"typescript": "5.8.2"
},
"prisma": {
"seed": "tsx prisma/seed.ts"
}
}
16 changes: 16 additions & 0 deletions orm/nextjs/prisma.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { defineConfig, env } from 'prisma/config'
import 'dotenv/config'

export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
seed: 'tsx ./prisma/seed.ts',
},
engine: 'classic',
datasource: {
url: env('DATABASE_URL'),
},
})


2 changes: 0 additions & 2 deletions orm/nextjs/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
// learn more about it in the docs: https://pris.ly/d/prisma-schema

// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init


generator client {
provider = "prisma-client"
Expand Down
5 changes: 3 additions & 2 deletions orm/nextjs/prisma/seed.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { PrismaClient, Prisma } from '../app/generated/prisma/client'
import { withAccelerate } from '@prisma/extension-accelerate'
import { PrismaPg } from '@prisma/adapter-pg'

const prisma = new PrismaClient().$extends(withAccelerate())
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter })

const userData: Prisma.UserCreateInput[] = [
{
Expand Down
12 changes: 6 additions & 6 deletions orm/nuxt-prisma-module/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ The app demonstrates:

```bash
# .env
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=..."
DATABASE_URL="postgres://<username>:<password>@<host>:<port>/<database>"
```

6. Apply database migrations:
Expand All @@ -67,14 +67,14 @@ The app demonstrates:

## Prisma Postgres Setup

This example uses Prisma Postgres, which requires the Prisma Accelerate extension. The extension is already included in the project dependencies and configured in [`lib/prisma.ts`](./lib/prisma.ts).

The Prisma Client is extended with the Accelerate extension to enable querying against your Prisma Postgres database:
This example uses Prisma Postgres with the `@prisma/adapter-pg` driver adapter configured in [`lib/prisma.ts`](./lib/prisma.ts):

```typescript
import { withAccelerate } from '@prisma/extension-accelerate'
import { PrismaPg } from '@prisma/adapter-pg'
import { PrismaClient } from '../prisma/generated/prisma/client'

const prisma = new PrismaClient().$extends(withAccelerate())
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter: pool })
```

## Resources
Expand Down
5 changes: 3 additions & 2 deletions orm/nuxt-prisma-module/lib/prisma.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { Prisma, PrismaClient } from "../prisma/generated/prisma/client"
import { withAccelerate } from '@prisma/extension-accelerate'
import { PrismaPg } from '@prisma/adapter-pg'

const prismaClientSingleton = () => {

// Custom extended Prisma ORM instance with client extensions, adding a method to verify the existence of a database entry.
return new PrismaClient().$extends(withAccelerate()).$extends({
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
return new PrismaClient({ adapter: pool }).$extends({
model: {
$allModels: {
async exists<T>(
Expand Down
22 changes: 10 additions & 12 deletions orm/nuxt-prisma-module/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,17 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"@prisma/nuxt": "0.3.0",
"@prisma/client": "6.18.0",
"@prisma/extension-accelerate": "2.0.2",
"nuxt": "4.2.0",
"vue": "3.5.22",
"vue-router": "4.6.3"
"@prisma/nuxt": "^0.3.0",
"@prisma/client": "^6.19.0",
"@prisma/adapter-pg": "^6.19.0",
"nuxt": "^4.1.2",
"vue": "^3.5.22",
"vue-router": "^4.5.1"
},
"devDependencies": {
"@types/node": "24.9.2",
"prisma": "6.18.0",
"tsx": "4.20.6"
},
"prisma": {
"seed": "tsx prisma/seed.ts"
"@types/node": "^24.6.1",
"dotenv": "^17.2.1",
"prisma": "6.19.0",
"tsx": "^4.20.6"
}
}
16 changes: 16 additions & 0 deletions orm/nuxt-prisma-module/prisma.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { defineConfig, env } from 'prisma/config'
import 'dotenv/config'

export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
seed: 'tsx ./prisma/seed.ts',
},
engine: 'classic',
datasource: {
url: env('DATABASE_URL'),
},
})


21 changes: 11 additions & 10 deletions orm/nuxt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,20 +67,21 @@ We found an existing schema.prisma file in your current project directory.

Connect Prisma ORM to your Prisma Postgres database with this URL:

prisma+postgres://accelerate.prisma-data.net/?api_key=...
postgres://<username>:<password>@<host>:<port>/<database>

--- Next steps ---

Go to https://pris.ly/ppg-init for detailed instructions.

1. Install and use the Prisma Accelerate extension
Prisma Postgres requires the Prisma Accelerate extension for querying. If you haven't already installed it, install it in your project:
npm install @prisma/extension-accelerate

...and add it to your Prisma Client instance:
import { withAccelerate } from "@prisma/extension-accelerate"

const prisma = new PrismaClient().$extends(withAccelerate())
Use the @prisma/adapter-pg driver adapter and configure your Prisma Client instance:
```bash
npm install @prisma/adapter-pg
```
```ts
import { PrismaPg } from '@prisma/adapter-pg'
const pool = new PrismaPg({ connectionString: process.env.DATABASE_URL! })
const prisma = new PrismaClient({ adapter: pool })
```

2. Apply migrations
Run the following command to create and apply a migration:
Expand Down Expand Up @@ -112,7 +113,7 @@ Now, paste the URL into it as a value for the `DATABASE_URL` environment variabl

```bash
# .env
DATABASE_URL=prisma+postgres://accelerate.prisma-data.net/?api_key=ey...
DATABASE_URL=postgres://<username>:<password>@<host>:<port>/<database>
```

Generate the Prisma client:
Expand Down
Loading
Loading