## [ERR-20260429-015] worktree 合并 develop 后 seed 报 DataScopeType.SELF undefined

**日期**: 2026-04-29
**类别**: Prisma 客户端缓存 / 工作流
**严重度**: 中（沉默失败，错误信息离根因远）

### 现象

worktree 从 develop 合入新 schema 后，跑 seed 报：

```
TypeError: Cannot read properties of undefined (reading 'SELF')
  at .../prisma/seeds/data-scopes.seed.ts:16:64
DataScopeType.SELF
```

但 Prisma schema 文件里 `DataScopeType` enum 完整定义存在。

### 根因

worktree 创建时（合 develop 之前）跑过一次 `prisma generate`，生成的 client 里没有这次合入的新 enum。`db push` 不会自动重生 client（除非传 `--force-reset`）。Seed 脚本 `import { DataScopeType } from '@prisma/client'` 拿到的是旧 client，新 enum 是 undefined。

### 解决

合 develop 后必须显式重生：

```bash
cd backend && set -a && source .env && set +a && npx prisma generate && npx prisma db push --skip-generate
```

### 预防

任何"合并主干带来 schema 变化"的场景都该跑一次 `prisma generate`。`setup-worktree.sh` 里的 `db push --skip-generate` 有意省了 generate（首次创建走 install:all 已经触发了 postinstall generate），但**合 develop 之后**没有触发器，需要人工补。

可以在 worktree 内加个 git hook（post-merge）自动跑 generate；或在 `setup-worktree.sh` 的"重启已存在 worktree"分支里也跑一次 generate。

### Metadata
- Reproducible: yes（任何 worktree 在合 develop / staging 后未重生 client）
- Related Files: backend/prisma/schema, backend/node_modules/@prisma/client
