Prisma ORM 8 is here.Read the docs
Deployment

Deploy migrations from a local environment

Prisma ORM v7

Learn how to deploy Node.js and TypeScript applications that are using Prisma Client locally

There are two scenarios where you might consider deploying migrations directly from a local environment to a production environment.

  • You have a local CI/CD pipeline
  • You are baselining a production environment

This page outlines some examples of how you can do that and why we would generally not recommend it.

Local CI/CD pipeline

If you do not have an automated CI/CD process, you can technically deploy new migrations from your local environment to production in the following ways:

  1. Make sure your migration history is up to date. You can do this through running prisma migrate dev, which will generate a migration history from the latest changes made.
  2. Swap your local connection URL for your production connection URL
.env
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/my_local_database"

DATABASE_URL="postgresql://johndoe:randompassword@prod-db.example.com:5432/my_production_database"
  1. Run prisma migrate deploy

⛔ We strongly discourage this solution due to the following reasons

  • You risk exposing your production database connection URL to version control.
  • You may accidentally use your production connection URL instead and in turn override or delete your production database.

✅ We recommend setting up an automated CI/CD pipeline

The pipeline should handle deployment to staging and production environments, and use migrate deploy in a pipeline step. See the deployment guides for examples.

Baselining a production database

When you add Prisma Migrate to an existing database, you must baseline the production database. Baselining is performed once, and can be done from a local instance.

Baselining production from local with Prisma ORM

On this page