prisma-database-setup-postgresqlbởi prisma

PostgreSQL Setup. Reference when using this Prisma feature.

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

PostgreSQL Setup

Configure Prisma with PostgreSQL.

Prerequisites

  • PostgreSQL database (local or cloud)
  • Connection string

1. Schema Configuration

In prisma/schema.prisma:

datasource db {
  provider = "postgresql"
}

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@localhost:5432/mydb?schema=public"

Connection String Format

postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
  • USER: Database user
  • PASSWORD: Password (URL encoded if special chars)
  • HOST: Hostname (localhost, IP, or domain)
  • PORT: Port (default 5432)
  • DATABASE: Database name
  • SCHEMA: Schema name (default public)

Driver Adapter (Prisma ORM 7 required)

Prisma ORM 7 uses the query compiler by default, so you must use a driver adapter.

  1. Install adapter and driver:

    npm install @prisma/adapter-pg pg
    
  2. 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 })
    

Common Issues

"Can't reach database server"

  • Check host and port
  • Check firewall settings
  • Ensure database is running

"Authentication failed"

  • Check user/password
  • Special characters in password must be URL-encoded

"Schema does not exist"

  • Ensure ?schema=public (or your schema) is in the URL

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome