CockroachDB Setup. Reference when using this Prisma feature.
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-cockroachdb
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.
npm install @prisma/adapter-pg pg
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.
Take prisma/prisma-database-setup-cockroachdb from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.