pull
Pull the state from the database to the Prisma schema using introspection
The prisma db pull command connects to your database and adds Prisma models to your Prisma schema that reflect the current database schema.
Usage
prisma db pull [options]The datasource URL configuration is read from the Prisma config file (e.g., prisma.config.ts).
This command will overwrite the current schema.prisma file with the new schema. Back up your current schema or commit to version control before running db pull if it contains important modifications.
Introspection with db pull on the MongoDB connector samples the data instead of reading a schema.
Prerequisites
Configure your database connection in prisma.config.ts:
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "sqlite"
}import { defineConfig, env } from "prisma/config";
export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
datasource: {
url: env("DATABASE_URL"),
},
});Flags
| Flag | Description |
|---|---|
-h, --help | Display help message |
--force | Ignore current Prisma schema file |
--print | Print the introspected Prisma schema to stdout |
Options
| Option | Description |
|---|---|
--config | Custom path to your Prisma config file |
--schema | Custom path to your Prisma schema |
--url | Override the datasource URL from the Prisma config file |
--composite-type-depth | Depth for introspecting composite types (e.g., MongoDB Embedded Documents). Default -1 for infinite depth, 0 to disable |
--schemas | Specify database schemas to introspect (overrides datasource block) |
--local-d1 | Generate a Prisma schema from a local Cloudflare D1 database |
Examples
Introspect the database
npx prisma db pullOutput:
Introspecting based on datasource defined in schema.prisma …
✔ Introspected 2 models and wrote them into schema.prisma in 38ms
Run prisma generate to generate Prisma Client.Specify a schema path
npx prisma db pull --schema=./alternative/schema.prismaPrint to stdout instead of writing to file
npx prisma db pull --printForce overwrite existing schema
Ignore any customizations in the current schema:
npx prisma db pull --forceSet composite type depth for MongoDB
npx prisma db pull --composite-type-depth=2