All skills
prisma avatar

/prisma-orm-setup

@b491588 official
by prismaprisma/skills68 stars
7

Set up Prisma ORM in an application, connect its database, or troubleshoot the connection of an existing Prisma 6, 7, or 8 app. Defaults new applications to Prisma ORM 8 and loads the package-owned prisma-8 skill; keeps existing Prisma 6/7 apps on their version with provider references for PostgreSQL, MySQL, SQLite, SQL Server, CockroachDB, MongoDB, and Prisma Postgres.

Use this Skill: https://skilld.dev/gh/prisma/skills/prisma-orm-setup

This session only. Nothing lands on disk.

referencesv6-mongodb.md

≈693 tokens on demand. Your agent reads this file only when SKILL.md points to it.

MongoDB Setup

This reference configures Prisma ORM 6 MongoDB applications. Preserve an existing Prisma 6 app or use this path when 6 is explicitly selected. Do not apply Prisma 7 SQL adapters here.

Prerequisites

  • MongoDB 4.2+
  • Replica Set configured (required for transactions)
  • Latest Prisma 6.x release, or your team's pinned Prisma 6 version
  • A Node.js and TypeScript version supported by the selected Prisma 6 release

1. Schema Configuration

Use the standard Prisma 6 MongoDB setup with prisma-client-js.

In prisma/schema.prisma:

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

Driver Adapters

Do not apply the Prisma 7 SQL adapter setup here. MongoDB does not use a SQL @prisma/adapter-* package.

ID Field Requirement

MongoDB models must have a mapped _id field using @id and @map("_id"), usually of type String with auto() and db.ObjectId.

model User {
  id    String @id @default(auto()) @map("_id") @db.ObjectId
  email String @unique
  name  String?
  posts Post[]
}

Relations

Relations in MongoDB expect IDs to be db.ObjectId type.

model Post {
  id       String @id @default(auto()) @map("_id") @db.ObjectId
  author   User   @relation(fields: [authorId], references: [id])
  authorId String @db.ObjectId
}

2. Environment Variable

In .env:

DATABASE_URL="mongodb+srv://user:password@cluster.mongodb.net/mydb?retryWrites=true&w=majority"

Migrations vs Introspection

  • No Migrations: MongoDB is schema-less. prisma migrate commands do not work.
  • db push: Use prisma db push to sync indexes and constraints.
  • db pull: Use prisma db pull to generate schema from existing data (sampling).

Client setup

Keep existing pinned versions. For a new explicitly selected Prisma 6 setup:

npm install --save-dev prisma@6
npm install @prisma/client@6 dotenv

Generate with the matching CLI, then initialize the client without a SQL adapter:

import 'dotenv/config'
import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

Use a read-only model query to verify connectivity. Review any index changes before applying db push to an existing database.

Common Issues

"Transactions not supported"

Ensure your MongoDB instance is a Replica Set. Standalone instances do not support transactions. Atlas clusters are replica sets by default.

"Invalid ObjectID"

Ensure fields referencing IDs are decorated with @db.ObjectId if the target is an ObjectID.

References

Source: SKILL.md on GitHub

No alerts2d3 checks · Risk SAFE
  • Gen Agent Trust Hub2d

    This skill provides instructions for setting up Prisma ORM version 6, 7, and 8. It utilizes official Prisma CLI tools and packages from the vendor. Security analysis indicates the skill follows safe practices for handling credentials via environment variables and includes standard placeholder values for documentation. It also features a mechanism to synchronize and load updated guidance directly from the Prisma package.

  • Socket2d

    No alerts

  • Snyk2d

    Risk: LOW · No issues

Signed by skilld at b491588. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 hours ago.

Activeupdated 3 days ago
metadata
{
  "author": "prisma",
  "version": "1.0.0"
}

README badge

README badge for prisma/skills/prisma-orm-setup