Loading...
Loading...
使用Management API搭建新的Prisma Postgres数据库并将其连接到本地项目。当用户请求「搭建数据库」、「创建Prisma Postgres项目」、「获取连接字符串」、「将我的应用连接到Prisma Postgres」或「预配数据库」时使用本指南。
npx skill4agent add prisma/skills prisma-postgres-setupprisma-postgres-cicdprisma-postgres-integratorreferences/auth.mdask.envPRISMA_SERVICE_TOKEN请在Prisma控制台 → 工作区设置 → 服务令牌中创建服务令牌。 复制令牌并粘贴到此处。
references/auth.mdPRISMA_SERVICE_TOKENcurl -s -H "Authorization: Bearer $PRISMA_SERVICE_TOKEN" \
https://api.prisma.io/v1/regions/postgresidnamestatusstatusavailablereferences/endpoints.mdcurl -s -X POST https://api.prisma.io/v1/projects \
-H "Authorization: Bearer $PRISMA_SERVICE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "<project-name>",
"region": "<region-id>",
"createDatabase": true
}'{ "data": { ... } }data.idproj_data.database.iddb_data.database.connections[0].endpoints.direct.connectionStringendpoints.direct.connectionStringprovisioningGET /v1/databases/<database-id>statusreadyreferences/endpoints.mdcurl -s -X POST https://api.prisma.io/v1/databases/<database-id>/connections \
-H "Authorization: Bearer $PRISMA_SERVICE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "dev" }'data.endpoints.direct.connectionStringnpm install prisma @prisma/client @prisma/adapter-pg pg dotenvprisma@prisma/client@prisma/adapter-pgpgdotenvprisma.config.ts.env.envDATABASE_URL="<direct-connection-string>".gitignore.env.gitignore.envpackage.json"type": "module"prisma/schema.prismanpx prisma initprisma/schema.prismaprisma.config.tsschema.prismapostgresqlurldirectUrlprisma.config.tsdatasource db {
provider = "postgresql"
}prisma.config.tsimport path from 'node:path'
import { defineConfig } from 'prisma/config'
import 'dotenv/config'
export default defineConfig({
earlyAccess: true,
schema: path.join(import.meta.dirname, 'prisma', 'schema.prisma'),
datasource: {
url: process.env.DATABASE_URL!,
},
})prisma.config.tsschema.prismaschema.prisma"postgresql""prismaPostgres"prisma.config.tsdotenv/config.envprisma/schema.prismaprisma/schema.prismanpx prisma migrate dev --name initprisma/migrations/prisma migrate deploynpx prisma db pushnpx prisma generatetest-connection.tsimport 'dotenv/config'
import pg from 'pg'
import { PrismaPg } from '@prisma/adapter-pg'
import { PrismaClient } from './generated/prisma/client.js'
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL })
const adapter = new PrismaPg(pool)
const prisma = new PrismaClient({ adapter })
const result = await prisma.$queryRawUnsafe('SELECT 1 as connected')
console.log('Connected to Prisma Postgres:', result)
await prisma.$disconnect()
await pool.end()npx tsx test-connection.ts./generated/prisma/client.js./generated/prismaDATABASE_URLpg.PoolPrismaPg{ adapter }PrismaClientdatasourceUrlnew PrismaClient()test-connection.tsnpx prisma studiohttps://console.prisma.io/<workspaceId>/<projectId>/<databaseId>/dashboardwksp_proj_db_references/prisma7-client.mdreferences/api-basics.md| HTTP状态码 | 错误码 | 处理措施 |
|---|---|---|
| 401 | | 服务令牌无效或已过期。要求用户在控制台 → 工作区设置 → 服务令牌中创建新令牌。 |
| 404 | | 检查资源ID是否包含正确的前缀( |
| 422 | | 对照端点schema检查请求体。常见问题:缺少 |
| 429 | | 退避几秒后重试。 |
references/auth.md — 服务令牌创建和使用
references/api-basics.md — 基础URL、封装结构、ID、错误、分页
references/endpoints.md — 项目、数据库、连接、区域的端点详情
references/prisma7-client.md — Prisma 7客户端实例化和使用模式