3.2 KiB
3.2 KiB
prisma init
Bootstraps a fresh Prisma ORM project in the current directory.
Command
prisma init [options]
Bun Runtime
If you're using Bun, run Prisma with bunx --bun so it doesn't fall back to Node.js:
bunx --bun prisma init
What It Creates
prisma/schema.prisma- Your Prisma schema fileprisma.config.ts- TypeScript configuration for Prisma CLI.env- Environment variables (DATABASE_URL).gitignore- Ensures.envis ignored and appends the generated client path
Options
| Option | Description | Default |
|---|---|---|
--datasource-provider |
Database provider: postgresql, mysql, sqlite, sqlserver, mongodb, cockroachdb |
postgresql |
--db |
Provisions a fully managed Prisma Postgres database on the Prisma Data Platform | - |
--url |
Define a custom datasource url | - |
--generator-provider |
Define the generator provider to use | prisma-client |
--output |
Define Prisma Client generator output path to use | - |
--preview-feature |
Define a preview feature to use | - |
--with-model |
Add example model to created schema file | - |
--no-skills |
Skip the best-effort installation of Prisma agent skills | - |
prisma init attempts to install prisma/skills for detected agents. This is best-effort and does not make project initialization fail. Use --no-skills in minimal or controlled environments.
Examples
Basic initialization
prisma init
Creates a PostgreSQL project setup.
SQLite project
prisma init --datasource-provider sqlite
MySQL with custom URL
prisma init --datasource-provider mysql --url "mysql://user:password@localhost:3306/mydb"
Prisma Postgres (cloud)
prisma init --db
Opens browser for authentication, creates cloud database instance.
Add an example model
prisma init --with-model
Adds a starter model to the generated schema.
With preview features
prisma init --preview-feature relationJoins --preview-feature fullTextSearch
Generated Schema
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
}
Generated Config (Node.js default)
// prisma.config.ts
import "dotenv/config";
import { defineConfig } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: process.env['DATABASE_URL'],
},
})
Generated Config (Bun)
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
Next Steps After Init
- Configure
DATABASE_URLin.env(and letprisma.config.tsread it) - Define your models in
prisma/schema.prisma - Run
prisma devfor local development or connect to remote DB - Run
prisma migrate devto create migrations - Run
prisma generateto generate Prisma Client - Run
prisma db seedexplicitly if you want seed data