prisma-upgrade-v7-schema-changes

โดย prisma

การเปลี่ยนแปลง Schema. อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-upgrade-v7-schema-changes

Schema Changes

Prisma v7 introduces a new prisma-client generator. Update your generator block and import paths accordingly.

Generator Provider

Before (v6)

generator client {
  provider = "prisma-client-js"
  engineType = "binary"  // or "library"
}

After (v7)

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

Key Changes

1. Provider name

Use prisma-client in Prisma v7.

2. Output is required (for prisma-client)

The output field is mandatory when using prisma-client. Prisma Client no longer generates to node_modules with this generator.

generator client {
  provider = "prisma-client"
  output   = "../generated"  // Required for prisma-client
}

3. Engine type removed

engineType is removed in Prisma v7. Remove any engineType setting from your generator block.

Example Output Paths (prisma-client)

Standard project

output = "../generated"

Creates: generated/client

Monorepo

output = "../../packages/database/generated"

Same directory as schema

output = "./generated"

Creates: prisma/generated/client

Datasource Block

The url, directUrl, and shadowDatabaseUrl values now live in prisma.config.ts in Prisma v7. Keep only the provider in schema.prisma:

Before (v6)

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

After (v7)

datasource db {
  provider = "postgresql"
  // URLs configured in prisma.config.ts
}
// prisma.config.ts
export default defineConfig({
  datasource: {
    url: env('DATABASE_URL'),
    directUrl: env('DIRECT_URL'),
    shadowDatabaseUrl: env('SHADOW_DATABASE_URL'),
  },
})

Full Example

v6 Schema

generator client {
  provider   = "prisma-client-js"
  engineType = "library"
}

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

v7 Schema

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

datasource db {
  provider = "postgresql"
}

After Schema Changes

  1. Run prisma generate:

    npx prisma generate
    
  2. Update imports throughout your codebase:

    // Before (prisma-client-js)
    import { PrismaClient } from '@prisma/client'
    
    // After (prisma-client, output = "../generated")
    import { PrismaClient } from '../generated/client'
    
  3. Update .gitignore (if using prisma-client output):

    generated
    

Preview Features

Preview features work the same:

generator client {
  provider        = "prisma-client"
  output          = "../generated"
  previewFeatures = ["relationJoins", "fullTextSearch"]
}

Skills เพิ่มเติมจาก prisma

prisma-cli-migrate-reset
prisma
prisma migrate reset
official
prisma-cli-validate
prisma
ตรวจสอบความถูกต้องของ Prisma อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
ตรวจสอบ ADR หนึ่งรายการขึ้นไปด้วยมุมมองใหม่ (ในฐานะสมาชิกทีมที่ไม่มีบริบทมาก่อน) ระบุปัญหาเชิงเนื้อหาและโครงสร้าง จากนั้นเขียนใหม่ ใช้เมื่อ...
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
คู่มืออ้างอิงที่สมบูรณ์สำหรับคำสั่ง ตัวเลือก และขั้นตอนการทำงานของ Prisma CLI ครอบคลุมการตั้งค่า การย้ายฐานข้อมูล และการดำเนินการกับฐานข้อมูล ประกอบด้วยคำสั่งมากกว่า 20 คำสั่งที่จัดลำดับตามความสำคัญ: การตั้งค่า (init), การสร้าง (generate), การพัฒนา (dev), การดำเนินการกับฐานข้อมูล (db pull/push/seed/execute) และการย้ายฐานข้อมูล (migrate dev/deploy/reset/status/diff/resolve) รวมถึงการเปลี่ยนแปลงใน Prisma 7.x: ไฟล์กำหนดค่า prisma.config.ts ใหม่, แฟล็กที่ถูกยกเลิก (--skip-generate, --skip-seed, --schema, --url) และรายละเอียด...
official
prisma-client-api
prisma
เอกสารอ้างอิง API ของ Prisma Client อย่างสมบูรณ์สำหรับการค้นหาโมเดล การดำเนินการ CRUD การกรอง ความสัมพันธ์ และธุรกรรม ครอบคลุมวิธีการค้นหาโมเดล 17 วิธี รวมถึง findUnique, findMany, create, update, delete, upsert และการดำเนินการแบบกลุ่มพร้อมตัวแปรผลลัพธ์ มีตัวเลือกการค้นหาสำหรับปรับแต่งผลลัพธ์: select, include, omit, orderBy, take, skip, cursor และ distinct รวมถึงตัวดำเนินการกรองแบบสเกลาร์และตรรกะ (equals, in, contains, startsWith, lt, gt) พร้อมตัวกรองความสัมพันธ์ (some,...)
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial