Files
Kokorone/.agents/skills/prisma-cli/references/init.md
T
Jeffery f44200f543 feat: 完成 B 群組 — 資料層與核心領域模型
- 導入 Prisma 7.9.1 + SQLite(better-sqlite3 driver adapter),prisma.config.ts 管理連線設定
- 完整資料模型:User/Work/Character/CharacterAlias/EpisodicMemory/SemanticMemory/
  ProceduralRule/EmotionState/Relationship/SentimentLedgerEntry
- packages/db:Prisma Client 存取層(ESM,因 Prisma 7 產出的 generated client 僅支援 ESM)
- apps/api 隨之改為 ESM 以相容 packages/db
- packages/shared:新增角色/記憶/情緒/關係共用型別,api 與 web 皆從此匯入
- prisma/seed.ts:建立測試使用者與元氣型測試角色,含完整關係帳本與記憶種子資料
- apps/api:新增 GET /characters
- scripts/smoke/B.mjs:驗證資料表齊全、API 讀出種子角色、關係與記憶可寫入讀出
- 保留 Prisma 官方隨 CLI 附的 agent skill 文件(.agents/skills 等),供後續群組查閱

npm run restart && npm run smoke -- B 皆通過(B-V),A 群組冒煙測試無回歸。
2026-08-13 09:43:15 +08:00

3.2 KiB

prisma init

Bootstraps a fresh Prisma ORM project in the current directory.

Command

prisma init [options]

Bun Runtime

If you're using Bun, run Prisma with bunx --bun so it doesn't fall back to Node.js:

bunx --bun prisma init

What It Creates

  • prisma/schema.prisma - Your Prisma schema file
  • prisma.config.ts - TypeScript configuration for Prisma CLI
  • .env - Environment variables (DATABASE_URL)
  • .gitignore - Ensures .env is ignored and appends the generated client path

Options

Option Description Default
--datasource-provider Database provider: postgresql, mysql, sqlite, sqlserver, mongodb, cockroachdb postgresql
--db Provisions a fully managed Prisma Postgres database on the Prisma Data Platform -
--url Define a custom datasource url -
--generator-provider Define the generator provider to use prisma-client
--output Define Prisma Client generator output path to use -
--preview-feature Define a preview feature to use -
--with-model Add example model to created schema file -
--no-skills Skip the best-effort installation of Prisma agent skills -

prisma init attempts to install prisma/skills for detected agents. This is best-effort and does not make project initialization fail. Use --no-skills in minimal or controlled environments.

Examples

Basic initialization

prisma init

Creates a PostgreSQL project setup.

SQLite project

prisma init --datasource-provider sqlite

MySQL with custom URL

prisma init --datasource-provider mysql --url "mysql://user:password@localhost:3306/mydb"

Prisma Postgres (cloud)

prisma init --db

Opens browser for authentication, creates cloud database instance.

Add an example model

prisma init --with-model

Adds a starter model to the generated schema.

With preview features

prisma init --preview-feature relationJoins --preview-feature fullTextSearch

Generated Schema

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

datasource db {
  provider = "postgresql"
}

Generated Config (Node.js default)

// prisma.config.ts
import "dotenv/config";
import { defineConfig } from 'prisma/config'

export default defineConfig({
  schema: 'prisma/schema.prisma',
  migrations: {
    path: 'prisma/migrations',
  },
  datasource: {
    url: process.env['DATABASE_URL'],
  },
})

Generated Config (Bun)

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

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

Next Steps After Init

  1. Configure DATABASE_URL in .env (and let prisma.config.ts read it)
  2. Define your models in prisma/schema.prisma
  3. Run prisma dev for local development or connect to remote DB
  4. Run prisma migrate dev to create migrations
  5. Run prisma generate to generate Prisma Client
  6. Run prisma db seed explicitly if you want seed data