mcpField
P
prisma-database-setup-postgresql

prisma-database-setup-postgresql

github.com/prisma数据与数据库1040 次安装4 周前更新
代码仓库

关于 prisma-database-setup-postgresql

介绍如何配置 Prisma ORM 7 连接 PostgreSQL 的指南。内容涵盖 schema 和配置文件、连接字符串、所需驱动适配器及常见连接错误。

主要功能

  1. 01配置 PostgreSQL 数据源
  2. 02设置 Prisma v7 配置
  3. 03编写 DATABASE_URL
  4. 04配置 PostgreSQL 驱动适配器
  5. 05排查常见连接问题

适用场景

  1. 01为 PostgreSQL 配置 Prisma 项目
  2. 02设置 PostgreSQL 连接字符串
  3. 03使用驱动适配器初始化 Prisma Client
  4. 04排查数据库连接错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-postgresql

安装后在 Claude Code 中输入/prisma-database-setup-postgresql确认已加载。

附带文件metadata.json

详细介绍

PostgreSQL 配置

配置 Prisma 以使用 PostgreSQL。

前提条件

  • PostgreSQL 数据库(本地或云端)
  • 连接字符串

1. Schema 配置

在 prisma/schema.prisma 中:

datasource db {
  provider = "postgresql"
}

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

2. 配置文件配置(v7)

在 prisma.config.ts 中:

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

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

3. 环境变量

在 .env 中:

DATABASE_URL="postgresql://user:password@localhost:5432/mydb?schema=public"
连接字符串格式
postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
  • USER:数据库用户
  • PASSWORD:密码(包含特殊字符时需进行 URL 编码)
  • HOST:主机名(localhost、IP 或域名)
  • PORT:端口(默认 5432)
  • DATABASE:数据库名称
  • SCHEMA:Schema 名称(默认 public)

驱动适配器(Prisma ORM 7 必需)

Prisma ORM 7 默认使用查询编译器,因此必须使用驱动适配器。

  1. 安装适配器和驱动:

    npm install @prisma/adapter-pg pg
    
  2. 使用适配器实例化 Prisma Client:

    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 })
    

常见问题

“无法连接到数据库服务器”
  • 检查主机和端口
  • 检查防火墙设置
  • 确保数据库正在运行
“身份验证失败”
  • 检查用户/密码
  • 密码中的特殊字符必须进行 URL 编码
“Schema 不存在”
  • 确保 URL 中包含 ?schema=public(或你的 Schema)

评论

支持 Markdown