skills/prisma-database-setup-cockroachdb/SKILL.md
CockroachDB Setup. Reference when using this Prisma feature.
npx skillsauth add prisma/cursor-plugin prisma-database-setup-cockroachdbInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Configure Prisma with CockroachDB.
In prisma/schema.prisma:
datasource db {
provider = "cockroachdb"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
In prisma.config.ts:
import { defineConfig, env } from 'prisma/config'
export default defineConfig({
schema: 'prisma/schema.prisma',
datasource: {
url: env('DATABASE_URL'),
},
})
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.
Prisma ORM 7 uses the query compiler by default, so you must use a driver adapter. CockroachDB is PostgreSQL-compatible, so use the PostgreSQL adapter.
Install adapter and driver:
npm install @prisma/adapter-pg pg
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 })
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
}
Always use provider = "cockroachdb" to ensure correct type mapping during db pull.
databases
Schema Changes. Reference when using this Prisma feature.
tools
Removed Features. Reference when using this Prisma feature.
tools
Prisma Config. Reference when using this Prisma feature.
tools
ESM Support. Reference when using this Prisma feature.