prisma-database-setup
Provides configuration guides for Prisma with various database providers, helping users quickly set up and manage database connections.
npx skills add prisma/skills --skill prisma-database-setupBefore / After Comparison
1 组Traditional database configuration typically involves manually writing complex SQL migration scripts, ORM configurations, and connection management code. This often requires repetitive work for different database providers, is prone to errors, difficult to maintain, and increases the difficulty of project initiation and iteration.
With Prisma, the database configuration process is greatly simplified and standardized. Through declarative Schema definition, Prisma automatically generates type-safe clients and provides powerful migration tools, supporting multiple databases, significantly improving development efficiency and the reliability of data operations.
Prisma Database Setup
Comprehensive guides for configuring Prisma ORM with various database providers.
When to Apply
Reference this skill when:
- Initializing a new Prisma project
- Switching database providers
- Configuring connection strings and environment variables
- Troubleshooting database connection issues
- Setting up database-specific features
- Generating and instantiating Prisma Client
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Provider Guides | CRITICAL | provider names |
| 2 | Prisma Postgres | HIGH | prisma-postgres |
| 3 | Client Setup | CRITICAL | prisma-client-setup |
System Prerequisites (Prisma ORM 7)
- Node.js 20.19.0+
- TypeScript 5.4.0+
Bun Runtime
If you're using Bun, run Prisma CLI commands with bunx --bun prisma ... so Prisma uses the Bun runtime instead of falling back to Node.js.
Supported Databases
| Database | Provider String | Notes |
|---|---|---|
| PostgreSQL | postgresql | Default, full feature support |
| MySQL | mysql | Widespread support, some JSON diffs |
| SQLite | sqlite | Local file-based, no enum/scalar lists |
| MongoDB | mongodb | NOT SUPPORTED IN v7 (Use v6) |
| SQL Server | sqlserver | Microsoft ecosystem |
| CockroachDB | cockroachdb | Distributed SQL, Postgres-compatible |
| Prisma Postgres | postgresql | Managed serverless database |
Configuration Files
Prisma v7 uses two main files for configuration:
prisma/schema.prisma: Defines thedatasourceblock.prisma.config.ts: Configures the connection URL (replaces env loading in schema).
Driver Adapters (Prisma ORM 7)
Prisma ORM 7 uses the query compiler by default, which requires a driver adapter. Choose the adapter and driver for your database and pass the adapter to PrismaClient.
| Database | Adapter | JS Driver |
|---|---|---|
| PostgreSQL | @prisma/adapter-pg | pg |
| CockroachDB | @prisma/adapter-pg | pg |
| Prisma Postgres | @prisma/adapter-ppg | @prisma/ppg |
| MySQL / MariaDB | @prisma/adapter-mariadb | mariadb |
| SQLite | @prisma/adapter-better-sqlite3 | better-sqlite3 |
| SQLite (Turso/LibSQL) | @prisma/adapter-libsql | @libsql/client |
| SQL Server | @prisma/adapter-mssql | node-mssql |
Example (PostgreSQL):
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 })
Prisma Client Setup (Required)
Prisma Client must be installed and generated for any database.
-
Install Prisma CLI and Prisma Client:
npm install prisma --save-dev npm install @prisma/client -
Add a generator block (output is required in Prisma v7):
generator client { provider = "prisma-client" output = "../generated" } -
Generate Prisma Client:
npx prisma generate -
Instantiate Prisma Client with the database-specific driver adapter:
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 }) -
Re-run
prisma generateafter every schema change.
Quick Reference
PostgreSQL
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
MySQL
datasource db {
provider = "mysql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
SQLite
datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
MongoDB (Prisma v6 only)
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
Rule Files
See individual rule files for detailed setup instructions:
references/postgresql.md
references/mysql.md
references/sqlite.md
references/mongodb.md
references/sqlserver.md
references/cockroachdb.md
references/prisma-postgres.md
references/prisma-client-setup.md
How to Use
Choose the provider reference file for your database, then apply references/prisma-client-setup.md to complete client generation and adapter setup.
User Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill