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

OptionDescription
-h, --helpDisplay help message
--configCustom path to your Prisma config file
--schemaCustom path to your Prisma schema
--urlOverride the datasource URL from the Prisma config file
--accept-data-lossIgnore data loss warnings
--force-resetForce 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 push

Accept data loss

Proceed even if the changes might result in data loss:

npx prisma db push --accept-data-loss

Specify a schema path

npx prisma db push --schema=/tmp/schema.prisma

Force reset before push

Reset the database before applying changes:

npx prisma db push --force-reset

See also

On this page