push
Push the state from your Prisma schema to your database
The prisma db push command pushes the state of your Prisma schema to the database without using migrations. It creates the database if it does not exist.
This command is a good choice when you don't need to version schema changes, such as during prototyping and local development.
Usage
prisma db push [options]The datasource URL configuration is read from the Prisma config file (e.g., prisma.config.ts).
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"),
},
});Options
| Option | Description |
|---|---|
-h, --help | Display help message |
--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 |
--accept-data-loss | Ignore data loss warnings |
--force-reset | Force a reset of the database before push |
In Prisma v7, db push no longer runs prisma generate automatically. Run it explicitly if needed.
Examples
Push the schema to the database
npx prisma db pushAccept data loss
Proceed even if the changes might result in data loss:
npx prisma db push --accept-data-lossSpecify a schema path
npx prisma db push --schema=/tmp/schema.prismaForce reset before push
Reset the database before applying changes:
npx prisma db push --force-reset