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.

referencesv7-cockroachdb.md

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

CockroachDB Setup

Configure Prisma ORM 7 with CockroachDB. For an existing Prisma 6 app, keep its configuration and use the Prisma 6 docs; the configuration and adapter examples below are for 7.

Prerequisites

  • CockroachDB cluster

1. Schema Configuration

In prisma/schema.prisma:

datasource db {
  provider = "cockroachdb"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

2. Config Configuration

In prisma.config.ts:

import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  datasource: {
    url: env('DATABASE_URL'),
  },
})

3. Environment Variable

In .env:

DATABASE_URL="postgresql://user:password@host:26257/db?sslmode=verify-full"

Note: CockroachDB uses the PostgreSQL wire protocol, so the URL often looks like postgresql, but the provider MUST be cockroachdb in the schema to handle specific CRDB features correctly.

Driver Adapter

Use a driver adapter for the standard SQL workflow. CockroachDB is PostgreSQL-compatible, so use the PostgreSQL adapter.

  1. Install adapter and driver:

    npm install @prisma/adapter-pg@7 pg
  2. Instantiate Prisma Client with the adapter:

    import 'dotenv/config'
    import { PrismaClient } from '../generated/client'
    import { PrismaPg } from '@prisma/adapter-pg'
    
    const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
    const prisma = new PrismaClient({ adapter })

ID Generation

CockroachDB uses BigInt or UUID for IDs efficiently.

model User {
  id BigInt @id @default(autoincrement()) // Uses unique_rowid()
}

Or using string UUIDs:

model User {
  id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
}

Common Issues

Schema Introspection

Always use provider = "cockroachdb" to ensure correct type mapping during db pull.

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