prisma-database-setup-cockroachdb
โดย prisma
การตั้งค่า CockroachDB อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-cockroachdbCockroachDB Setup
Configure Prisma with CockroachDB.
Prerequisites
- CockroachDB cluster
1. Schema Configuration
In prisma/schema.prisma:
datasource db {
provider = "cockroachdb"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
2. Config Configuration (v7)
In prisma.config.ts:
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 (Prisma ORM 7 required)
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 })
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.
Skills เพิ่มเติมจาก prisma
prisma-cli-migrate-status
prisma
สถานะการย้ายข้อมูลของ prisma
official
prisma-cli-studio
prisma
prisma studio. อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-cli-validate
prisma
ตรวจสอบความถูกต้องของ Prisma อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-cli-db-execute
prisma
prisma db execute. อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-cli-db-pull
prisma
prisma-cli-db-pull — ทักษะที่สามารถติดตั้งได้สำหรับเอเจนต์ AI เผยแพร่โดย prisma/cursor-plugin
official
prisma-cli-db-push
prisma
prisma db push อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-cli-db-seed
prisma
prisma db seed. อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official
prisma-cli-debug
prisma
การดีบัก Prisma อ้างอิงเมื่อใช้ฟีเจอร์ Prisma นี้
official