Skip to content

Commit 7780b65

Browse files
Update optimize examples (#8375)
1 parent 318afa5 commit 7780b65

File tree

31 files changed

+525
-114
lines changed

31 files changed

+525
-114
lines changed

optimize/optimize-excessive-rows/bun.lock

Lines changed: 288 additions & 0 deletions
Large diffs are not rendered by default.

optimize/optimize-excessive-rows/package.json

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@
22
"name": "script",
33
"license": "MIT",
44
"scripts": {
5-
"dev": "ts-node ./script.ts"
5+
"dev": "tsx ./script.ts"
66
},
77
"dependencies": {
88
"@faker-js/faker": "9.9.0",
9-
"@prisma/client": "6.9.0",
10-
"@prisma/extension-optimize": "2.0.0",
9+
"@prisma/adapter-pg": "6.20.0-integration-next.8",
10+
"@prisma/client": "6.20.0-integration-next.8",
11+
"@prisma/extension-optimize": "2.0.1",
1112
"@types/node": "22.18.12"
1213
},
1314
"devDependencies": {
14-
"prisma": "6.9.0",
15-
"ts-node": "10.9.2",
15+
"prisma": "6.20.0-integration-next.8",
16+
"tsx": "^4.20.6",
1617
"typescript": "5.8.2"
17-
},
18-
"prisma": {
19-
"seed": "ts-node ./prisma/seed.ts"
2018
}
21-
}
19+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import "dotenv/config";
2+
import { defineConfig, env } from "prisma/config";
3+
4+
export default defineConfig({
5+
schema: "prisma/schema.prisma",
6+
migrations: {
7+
path: "prisma/migrations",
8+
seed: "tsx ./prisma/seed.ts",
9+
},
10+
datasource: {
11+
url: env("DATABASE_URL"),
12+
},
13+
});
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
generator client {
2-
provider = "prisma-client-js"
3-
previewFeatures = ["tracing"]
2+
provider = "prisma-client"
3+
output = "./generated"
4+
engineType = "client"
45
}
56

67
datasource db {
78
provider = "postgresql"
8-
url = env("DATABASE_URL")
99
}
1010

1111
model User {
@@ -16,11 +16,10 @@ model User {
1616
}
1717

1818
model Post {
19-
id Int @id @default(autoincrement())
19+
id Int @id @default(autoincrement())
2020
title String
2121
content String?
22-
published Boolean @default(false)
23-
author User? @relation(fields: [authorId], references: [id])
22+
published Boolean @default(false)
23+
author User? @relation(fields: [authorId], references: [id])
2424
authorId Int?
2525
}
26-

optimize/optimize-excessive-rows/prisma/seed.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
import { PrismaClient } from '@prisma/client'
1+
import { PrismaClient } from './generated/client'
2+
import { PrismaPg } from "@prisma/adapter-pg"
23
import { faker } from '@faker-js/faker'
34

4-
const prisma = new PrismaClient()
5+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
6+
const prisma = new PrismaClient({ adapter })
57
const TOTAL = 30
68

79
const main = async () => {

optimize/optimize-excessive-rows/utils/db.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
import { PrismaClient } from '@prisma/client'
1+
import 'dotenv/config'
2+
import { PrismaClient } from '../prisma/generated/client'
23
import { withOptimize } from '@prisma/extension-optimize'
4+
import { PrismaPg } from "@prisma/adapter-pg"
35

4-
export const prisma = new PrismaClient().$extends(
6+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
7+
export const prisma = new PrismaClient({
8+
adapter,
9+
}).$extends(
510
withOptimize({
611
apiKey: process.env.OPTIMIZE_API_KEY!,
712
}),

optimize/optimize-full-table-scan/package.json

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,20 @@
22
"name": "script",
33
"license": "MIT",
44
"scripts": {
5-
"dev": "ts-node ./script.ts",
6-
"copy-suffixes": "ts-node ./copySuffixes.ts"
5+
"dev": "tsx ./script.ts",
6+
"copy-suffixes": "tsx ./copySuffixes.ts"
77
},
88
"dependencies": {
99
"@faker-js/faker": "9.9.0",
10-
"@prisma/client": "6.9.0",
11-
"@prisma/extension-optimize": "2.0.0",
12-
"@types/node": "22.18.12"
10+
"@prisma/adapter-pg": "6.20.0-integration-next.8",
11+
"@prisma/client": "6.20.0-integration-next.8",
12+
"@prisma/extension-optimize": "2.0.1",
13+
"@types/node": "22.18.12",
14+
"dotenv": "^17.2.3"
1315
},
1416
"devDependencies": {
15-
"prisma": "6.9.0",
16-
"ts-node": "10.9.2",
17+
"prisma": "6.20.0-integration-next.8",
18+
"tsx": "^4.20.6",
1719
"typescript": "5.8.2"
18-
},
19-
"prisma": {
20-
"seed": "ts-node ./prisma/seed.ts"
2120
}
22-
}
21+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import "dotenv/config";
2+
import { defineConfig, env } from "prisma/config";
3+
4+
export default defineConfig({
5+
schema: "prisma/schema.prisma",
6+
migrations: {
7+
path: "prisma/migrations",
8+
seed: "tsx ./prisma/seed.ts",
9+
},
10+
datasource: {
11+
url: env("DATABASE_URL"),
12+
},
13+
});
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
generator client {
2-
provider = "prisma-client-js"
3-
previewFeatures = ["tracing"]
2+
provider = "prisma-client"
3+
output = "./generated"
4+
engineType = "client"
45
}
56

67
datasource db {
78
provider = "postgresql"
8-
url = env("DATABASE_URL")
99
}
1010

1111
model User {
@@ -16,11 +16,10 @@ model User {
1616
}
1717

1818
model Post {
19-
id Int @id @default(autoincrement())
19+
id Int @id @default(autoincrement())
2020
title String
2121
content String?
22-
published Boolean @default(false)
23-
author User? @relation(fields: [authorId], references: [id])
22+
published Boolean @default(false)
23+
author User? @relation(fields: [authorId], references: [id])
2424
authorId Int?
2525
}
26-

optimize/optimize-full-table-scan/prisma/seed.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
import { PrismaClient } from '@prisma/client'
1+
import { PrismaClient } from './generated/client'
2+
import { PrismaPg } from "@prisma/adapter-pg"
23
import { faker } from '@faker-js/faker'
34

4-
const prisma = new PrismaClient()
5+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
6+
const prisma = new PrismaClient({
7+
adapter,
8+
})
59
const TOTAL = 20
610

711
const main = async () => {

0 commit comments

Comments
 (0)