Prisma + Database Setup
Overview
Prisma 7 uses driver adapters instead of traditional database clients. This skill covers setup, configuration, and the required Better Auth schema models.
Quick Start
# Install
npm install @prisma/client @prisma/adapter-pg pg dotenv
npm install -D prisma @types/pg
# Configure
# Create prisma.config.ts in project root
# Generate client
npx prisma generate
Key Files
| File | Purpose |
|---|---|
prisma.config.ts |
Prisma configuration with driver adapter |
prisma/schema.prisma |
Schema definition (User, Session, Account, Verification) |
src/infrastructure/database/prisma.ts |
Client instantiation with PrismaPg adapter |
Quick Reference
// prisma.config.ts
import "dotenv/config"
import { defineConfig, env } from "prisma/config"
export default defineConfig({
schema: "prisma/schema.prisma",
datasource: { url: env("DATABASE_URL") },
})
// prisma/schema.prisma
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
}
// src/infrastructure/database/prisma.ts
import { PrismaPg } from "@prisma/adapter-pg"
import { PrismaClient } from "../../../generated/prisma/client"
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })
export default prisma
References
- Setup Guide — Full Prisma 7 installation and config
- Schema Models — Better Auth User, Session, Account, Verification