docs: 更新 CLAUDE.md 项目文档
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -107,13 +107,14 @@ import { RequirePermission } from '../decorators/require-permission.decorator';
|
||||
|
||||
### 软删除机制
|
||||
|
||||
PrismaService 使用 `$extends` 实现底层自动软删除:
|
||||
PrismaService 使用 `$extends` 实现底层自动软删除,自动检测 schema 中有 `deletedAt` 字段的模型:
|
||||
|
||||
- **查询自动过滤**: `findMany`、`findFirst`、`findUnique`、`count` 自动添加 `deletedAt: null` 条件
|
||||
- **查询自动过滤**: `findMany`、`findFirst`、`findUnique`、`findFirstOrThrow`、`findUniqueOrThrow`、`count`、`aggregate`、`groupBy` 自动添加 `deletedAt: null` 条件
|
||||
- **更新保护**: `update`、`updateMany` 自动过滤已删除记录,防止误更新
|
||||
- **删除自动转换**: `delete`、`deleteMany` 自动转换为设置 `deletedAt` 时间戳
|
||||
- **绕过过滤**: 显式指定 `deletedAt` 条件可查询已删除数据,如 `where: { deletedAt: { not: null } }`
|
||||
|
||||
启用软删除的模型在 `apps/api/src/prisma/prisma.service.ts` 的 `SOFT_DELETE_MODELS` 数组中配置。
|
||||
启用软删除只需在 `schema.prisma` 中为模型添加 `deletedAt DateTime?` 字段,运行 `pnpm db:generate` 后自动生效。
|
||||
|
||||
### 通信加密
|
||||
|
||||
|
||||
Reference in New Issue
Block a user