All skills
prisma avatar

/prisma-orm-setup

@b491588 official
by prismaprisma/skills68 stars
7

Set up Prisma ORM in an application, connect its database, or troubleshoot the connection of an existing Prisma 6, 7, or 8 app. Defaults new applications to Prisma ORM 8 and loads the package-owned prisma-8 skill; keeps existing Prisma 6/7 apps on their version with provider references for PostgreSQL, MySQL, SQLite, SQL Server, CockroachDB, MongoDB, and Prisma Postgres.

Use this Skill: https://skilld.dev/gh/prisma/skills/prisma-orm-setup

This session only. Nothing lands on disk.

referencesv7-sqlite.md

≈664 tokens on demand. Your agent reads this file only when SKILL.md points to it.

SQLite Setup

Configure Prisma ORM 7 with SQLite. For an existing Prisma 6 app, keep its configuration and use the Prisma 6 docs; the configuration and adapter examples below are for 7.

Prerequisites

  • None (file-based)

1. Schema Configuration

In prisma/schema.prisma:

datasource db {
  provider = "sqlite"
}

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

2. Config Configuration

In prisma.config.ts:

import 'dotenv/config'
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="file:./dev.db"

Connection String Format

file:PATH
  • PATH: Relative path to the database file. Check prisma.config.ts if you need to confirm how your app resolves it.

Driver Adapter

Use a driver adapter for the standard SQL workflow.

  1. Install adapter and driver:

    npm install @prisma/adapter-better-sqlite3@7 better-sqlite3
  2. Instantiate Prisma Client with the adapter:

    import 'dotenv/config'
    import { PrismaClient } from '../generated/client'
    import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
    
    const adapter = new PrismaBetterSqlite3({
      url: process.env.DATABASE_URL!,
    })
    
    const prisma = new PrismaClient({ adapter })

Using Driver Adapter (LibSQL / Turso)

For edge compatibility or Turso:

  1. Install:

    npm install @prisma/adapter-libsql@7 @libsql/client
  2. Instantiate:

    import 'dotenv/config'
    import { PrismaClient } from '../generated/client'
    import { PrismaLibSql } from '@prisma/adapter-libsql'
    
    const adapter = new PrismaLibSql({
      url: process.env.TURSO_DATABASE_URL,
      authToken: process.env.TURSO_AUTH_TOKEN,
    })
    const prisma = new PrismaClient({ adapter })

Limitations

  • Enums: Prisma supports enum fields, but SQLite does not enforce enum values at the database level.
  • No Scalar Lists: String[] is not supported directly.
  • Concurrency: Write operations lock the file.

Common Issues

"Database file not found"

Check the resolved file path for both the CLI and the runtime adapter; relative paths can resolve differently. Use an explicit path to the intended file rather than silently creating a second database.

References

Source: SKILL.md on GitHub

No alerts2d3 checks · Risk SAFE
  • Gen Agent Trust Hub2d

    This skill provides instructions for setting up Prisma ORM version 6, 7, and 8. It utilizes official Prisma CLI tools and packages from the vendor. Security analysis indicates the skill follows safe practices for handling credentials via environment variables and includes standard placeholder values for documentation. It also features a mechanism to synchronize and load updated guidance directly from the Prisma package.

  • Socket2d

    No alerts

  • Snyk2d

    Risk: LOW · No issues

Signed by skilld at b491588. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 hours ago.

Activeupdated 3 days ago
metadata
{
  "author": "prisma",
  "version": "1.0.0"
}

README badge

README badge for prisma/skills/prisma-orm-setup