Files
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

2.6 KiB

prisma dev

Starts a local Prisma Postgres database for development. Provides a PostgreSQL-compatible database that runs entirely on your machine.

Command

prisma dev [options]

What It Does

  • Starts a local PostgreSQL-compatible database
  • Runs in your terminal or as a background process
  • Perfect for development and testing
  • Easy migration to Prisma Postgres cloud in production

Options

Option Description Default
--name / -n Name for the database instance default
--port / -p HTTP server port 51213
--db-port / -P Database server port 51214
--shadow-db-port Shadow database port (for migrations) 51215
--detach / -d Run in background false
--debug Enable debug logging false

Examples

Start local database

prisma dev

Interactive mode with keyboard shortcuts:

  • q - Quit
  • h - Show HTTP URL
  • t - Show TCP URLs

Named instance

prisma dev --name myproject

Useful for multiple projects.

Background mode

prisma dev --detach

Frees your terminal for other commands.

Custom ports

prisma dev --port 5000 --db-port 5432

Instance Management

List all instances

prisma dev ls

Shows all local Prisma Postgres instances with status.

Start existing instance

prisma dev start myproject

Starts a previously created instance in background.

Stop instance

prisma dev stop myproject

Stop with glob pattern

prisma dev stop "myproject*"

Stops all instances matching pattern.

Remove instance

prisma dev rm myproject

Removes instance data from filesystem.

Force remove (stops first)

prisma dev rm myproject --force

Configuration

Configure your prisma.config.ts to use local Prisma Postgres:

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

export default defineConfig({
  schema: 'prisma/schema.prisma',
  migrations: {
    path: 'prisma/migrations',
  },
  datasource: {
    // Local Prisma Postgres URL (from prisma dev output)
    url: env('DATABASE_URL'),
  },
})

Workflow

  1. Start local database:

    prisma dev
    
  2. In another terminal, run migrations:

    prisma migrate dev
    
  3. Generate client:

    prisma generate
    
  4. Run your application

Production Migration

When ready for production, switch to Prisma Postgres cloud:

prisma init --db

Update your DATABASE_URL to the cloud connection string.