Skip to main content

prisma-cli-db-pull

prisma db pull. Reference when using this Prisma feature.

跳到安装

来源信息

仓库
prisma/cursor-plugin
最近来源活动
2026年2月6日 14:17
检测到的 SKILL.md 语言
英语
星标
10
分支
1

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
prisma-cli-db-pull
description
prisma db pull. Reference when using this Prisma feature.
license
MIT
metadata
{"author":"prisma","version":"7.0.0"}
# prisma db pull Introspects an existing database and updates your Prisma schema to reflect its structure. ## Command ```bash 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 | Option | Description | |--------|-------------| | `--force` | Ignore current Prisma schema file | | `--print` | Print the introspected Prisma schema to stdout | | `--schema` | Custom path to your Prisma schema | | `--config` | Custom path to your Prisma config file | | `--url` | Override the datasource URL from the Prisma config file | | `--composite-type-depth` | Specify the depth for introspecting composite types (default: -1 for infinite, 0 = off) | | `--schemas` | Specify the database schemas to introspect | | `--local-d1` | Generate a Prisma schema from a local Cloudflare D1 database | ## Examples ### Basic introspection ```bash prisma db pull ``` ### Preview without writing ```bash prisma db pull --print ``` Outputs schema to terminal for review. ### Force overwrite ```bash prisma db pull --force ``` Replaces schema file, losing any manual customizations. ## Prerequisites Configure database connection in `prisma.config.ts`: ```typescript 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: ```bash prisma init ``` 2. Configure database URL 3. Pull schema: ```bash prisma db pull ``` 4. Review and customize generated schema 5. Generate client: ```bash prisma generate ``` ### Syncing changes from database When database changes are made outside Prisma: ```bash prisma db pull prisma generate ``` ## Generated Schema Example Database tables become Prisma models: ```sql -- 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: ```prisma 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: ```prisma model User { // Was: users @@map("users") } ``` 2. **Rename fields** to camelCase: ```prisma authorId Int? @map("author_id") ``` 3. **Add relation names** for clarity: ```prisma author User? @relation("PostAuthor", fields: [authorId], references: [id]) ``` 4. **Add documentation**: ```prisma /// User account information model User { /// Primary email for authentication email String @unique } ``` ## MongoDB Introspection For MongoDB, `db pull` samples documents to infer schema: ```bash 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
在 GitHub 查看