prisma-cli-db-pull

โดย prisma

prisma-cli-db-pull — ทักษะที่สามารถติดตั้งได้สำหรับเอเจนต์ AI เผยแพร่โดย prisma/cursor-plugin

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-cli-db-pull

prisma db pull

Introspects an existing database and updates your Prisma schema to reflect its structure.

Command

prisma db pull [options]

What It Does

  • Connects to your database
  • Reads the database schema (tables, columns, relations, indexes)
  • Updates schema.prisma with corresponding Prisma models
  • For MongoDB, samples data to infer schema

Options

OptionDescription
--forceIgnore current Prisma schema file
--printPrint the introspected Prisma schema to stdout
--schemaCustom path to your Prisma schema
--configCustom path to your Prisma config file
--urlOverride the datasource URL from the Prisma config file
--composite-type-depthSpecify the depth for introspecting composite types (default: -1 for infinite, 0 = off)
--schemasSpecify the database schemas to introspect
--local-d1Generate a Prisma schema from a local Cloudflare D1 database

Examples

Basic introspection

prisma db pull

Preview without writing

prisma db pull --print

Outputs schema to terminal for review.

Force overwrite

prisma db pull --force

Replaces schema file, losing any manual customizations.

Prerequisites

Configure database connection in prisma.config.ts:

import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'

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

Workflow

Starting from existing database

  1. Initialize Prisma:

    prisma init
    
  2. Configure database URL

  3. Pull schema:

    prisma db pull
    
  4. Review and customize generated schema

  5. Generate client:

    prisma generate
    

Syncing changes from database

When database changes are made outside Prisma:

prisma db pull
prisma generate

Generated Schema Example

Database tables become Prisma models:

-- Database tables
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  name VARCHAR(100)
);

CREATE TABLE posts (
  id SERIAL PRIMARY KEY,
  title VARCHAR(255) NOT NULL,
  author_id INTEGER REFERENCES users(id)
);

Becomes:

model users {
  id    Int     @id @default(autoincrement())
  email String  @unique @db.VarChar(255)
  name  String? @db.VarChar(100)
  posts posts[]
}

model posts {
  id        Int    @id @default(autoincrement())
  title     String @db.VarChar(255)
  author_id Int?
  users     users? @relation(fields: [author_id], references: [id])
}

Post-Introspection Cleanup

After db pull, consider:

  1. Rename models to PascalCase:

    model User {  // Was: users
      @@map("users")
    }
    
  2. Rename fields to camelCase:

    authorId Int? @map("author_id")
    
  3. Add relation names for clarity:

    author User? @relation("PostAuthor", fields: [authorId], references: [id])
    
  4. Add documentation:

    /// User account information
    model User {
      /// Primary email for authentication
      email String @unique
    }
    

MongoDB Introspection

For MongoDB, db pull samples documents to infer schema:

prisma db pull

May require manual refinement since MongoDB is schemaless.

Warning

db pull overwrites your schema file. Always:

  • Commit current schema before pulling
  • Use --print to preview first
  • Backup customizations you want to keep

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