apps/docs/content/docs/cli/init.mdx
The prisma init command bootstraps a fresh Prisma project within the current directory.
prisma init [options]
The command creates a prisma directory containing a schema.prisma file. By default, the project is configured for local Prisma Postgres, but you can choose a different database using the --datasource-provider option.
| Option | Description |
|---|---|
-h, --help | Display help message |
--db | Provision a fully managed Prisma Postgres database on the Prisma Data Platform |
--datasource-provider | Define the datasource provider: postgresql, mysql, sqlite, sqlserver, mongodb, or cockroachdb |
--generator-provider | Define the generator provider to use (default: prisma-client-js) |
--preview-feature | Define a preview feature to use (can be specified multiple times) |
--output | Define Prisma Client generator output path |
--url | Define a custom datasource URL |
| Flag | Description |
|---|---|
--with-model | Add an example model to the created schema file |
Sets up a new project configured for local Prisma Postgres:
npx prisma init
Set up a new project with MySQL as the datasource provider:
npx prisma init --datasource-provider mysql
Set up a project with a specific generator provider:
npx prisma init --generator-provider prisma-client-js
Set up a project with specific preview features enabled:
npx prisma init --preview-feature metrics
Multiple preview features:
npx prisma init --preview-feature views --preview-feature metrics
Set up a project with a custom output path for Prisma Client:
npx prisma init --output ./generated-client
Set up a project with a specific database URL:
npx prisma init --url mysql://user:password@localhost:3306/mydb
Set up a project with an example User model:
npx prisma init --with-model
Create a new project with a managed Prisma Postgres database:
npx prisma init --db
This requires authentication with the Prisma Data Platform Console.
After running prisma init, you'll have the following files:
prisma/schema.prismaThe Prisma schema file where you define your data model:
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
}
prisma.config.tsA TypeScript configuration file for Prisma:
import { defineConfig, env } from "prisma/config";
export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
datasource: {
url: env("DATABASE_URL"),
},
});
.envEnvironment variables file for your project:
DATABASE_URL="postgresql://user:password@localhost:5432/mydb"
.gitignoreGit ignore file configured for Prisma projects:
node_modules
.env
/generated/prisma