Переглянути джерело

📝 docs(story): 补充006.001故事中的租户ID移除任务

- 新增接受标准:移除所有租户ID相关代码和配置
- 新增任务5:移除租户ID相关代码(实体、服务、路由、测试、数据库表名)
- 新增租户ID移除规则:详细说明需要移除的位置和内容
- 新增测试要求:租户ID移除验证
- 更新变更日志:版本1.2

🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 тиждень тому
батько
коміт
8e3b5e9ab4

+ 32 - 1
docs/stories/006.001.create-core-module-and-update-config.story.md

@@ -15,6 +15,7 @@ Draft
 4. [ ] 类型定义和导出路径正确
 5. [ ] 现有测试通过,功能正常
 6. [ ] TypeScript 类型检查无错误
+7. [ ] 移除所有租户ID相关代码和配置
 
 ## Tasks / Subtasks
 - [ ] 任务 1: 复制目录结构 (AC: 1)
@@ -33,7 +34,13 @@ Draft
 - [ ] 任务 4: 检查并更新导出文件 (AC: 4)
   - [ ] 检查各模块中的 `index.mt.ts` 文件,确保导出路径正确
   - [ ] 根据需要重命名文件(如 `index.mt.ts` → `index.ts`)
-- [ ] 任务 5: 验证步骤 (AC: 5, 6)
+- [ ] 任务 5: 移除租户ID相关代码 (AC: 7)
+  - [ ] 移除实体中的 `tenantId` 字段定义
+  - [ ] 移除服务中的 `tenantOptions` 配置
+  - [ ] 移除路由中的 `tenantOptions` 配置
+  - [ ] 移除测试文件中的租户ID相关代码
+  - [ ] 更新数据库表名(移除 `_mt` 后缀)
+- [ ] 任务 6: 验证步骤 (AC: 5, 6)
   - [ ] 运行 `pnpm typecheck` 检查类型错误
   - [ ] 运行 `pnpm test:unit` 确保单元测试通过
   - [ ] 运行 `pnpm test:integration` 确保集成测试通过
@@ -79,6 +86,23 @@ Draft
 - 文件重命名:`*.mt.ts` → `*.ts`(如 `index.mt.ts` → `index.ts`)
 - 注意:`file-module-mt` 中的文件可能没有 `.mt.ts` 后缀,需要检查
 
+### 租户ID移除规则
+需要从以下位置移除租户ID相关代码:
+1. **实体文件** (`src/entities/*.ts`):
+   - 移除 `tenantId` 字段定义
+   - 更新表名:`*_mt` → `*`(如 `users_mt` → `users`)
+2. **服务文件** (`src/services/*.ts`):
+   - 移除 `tenantOptions` 配置
+   - 移除 `tenantId` 参数和方法中的租户逻辑
+3. **路由文件** (`src/routes/*.ts`):
+   - 移除 `tenantOptions` 配置
+4. **测试文件** (`tests/**/*.ts`):
+   - 移除测试实体中的 `tenantId` 字段
+   - 移除测试配置中的租户相关设置
+   - 更新测试数据工厂中的租户逻辑
+5. **数据库表名**:
+   - 更新实体装饰器中的表名:`@Entity({ name: '*_mt' })` → `@Entity({ name: '*' })`
+
 ### 测试
 - **测试框架**: Vitest [Source: architecture/testing-strategy.md#单元测试]
 - **测试位置**: `tests/` 目录结构(单元测试:`tests/unit/`,集成测试:`tests/integration/`)[Source: architecture/testing-strategy.md#测试金字塔策略]
@@ -90,6 +114,7 @@ Draft
 2. **数据库 schema**: 保持不变,不影响现有数据
 3. **性能**: 无影响,仅进行文件复制和重命名
 4. **依赖关系**: core-module 作为聚合包使用,支持按需导入
+5. **租户ID移除**: 需要移除所有多租户相关代码,转换为单租户版本
 
 ## Testing
 ### 测试标准
@@ -105,10 +130,16 @@ Draft
 4. **测试覆盖率**: 运行 `pnpm test:coverage` 检查覆盖率是否达标
 5. **导入验证**: 检查 server package 能否正确导入新的 core-module
 6. **测试结构验证**: 确保测试文件位于正确的 `tests/` 目录结构中
+7. **租户ID移除验证**: 验证所有租户ID相关代码已正确移除
+   - 检查实体中无 `tenantId` 字段
+   - 检查服务和路由中无 `tenantOptions` 配置
+   - 检查测试文件中无租户相关代码
+   - 验证数据库表名已更新(移除 `_mt` 后缀)
 
 ## Change Log
 | Date | Version | Description | Author |
 |------|---------|-------------|--------|
+| 2025-12-01 | 1.2 | 补充移除租户ID相关代码的任务和要求 | John (Product Manager) |
 | 2025-12-01 | 1.1 | 根据架构文档和测试策略文档修正测试相关内容 | John (Product Manager) |
 | 2025-12-01 | 1.0 | 初始故事创建 | Bob (Scrum Master) |