租户管理
);
}
```
## 实施策略
### 阶段化实施
1. **第一阶段**: Server多租户集成(多租户包替换、租户上下文、认证增强)
2. **第二阶段**: Web多租户UI包集成(全面使用多租户UI包、移除本地实现)
3. **第三阶段**: 系统集成和验证(集成测试、性能测试、文档)
### 数据迁移策略
- 多租户系统使用全新数据,不迁移现有单租户数据
- 提供数据导出导入工具
- 保持两套系统数据独立
## 技术实现要点
### 向后兼容性保证
1. **包替换**: 直接替换单租户包为多租户包,保持相同API接口
2. **API 不变**: 现有单租户API接口和行为保持不变
3. **数据独立**: 多租户使用独立的数据表
4. **性能隔离**: 两套系统性能互不影响
### 安全性考虑
1. **租户隔离**: 严格的租户数据隔离机制
2. **权限控制**: 租户间数据访问权限控制
3. **输入验证**: 所有用户输入进行严格的验证和转义
4. **审计日志**: 租户操作审计日志记录
### 性能优化
1. **数据库索引**: 确保租户ID字段有合适的索引
2. **查询优化**: 租户过滤条件与现有查询条件合并
3. **连接池**: 优化数据库连接池配置
4. **缓存策略**: 租户级缓存策略
## 测试策略
### 单元测试
- 租户上下文管理测试
- 多租户包集成测试
- 认证中间件增强测试
- 前端租户Hook测试
### 集成测试
- 租户数据隔离验证测试
- 租户管理界面功能测试
- 性能基准测试
### 回归测试
- 现有单租户功能回归测试
- 向后兼容性验证测试
- API接口兼容性测试
---
## Story Manager Handoff
"请为这个brownfield epic开发详细的用户故事。关键考虑因素:
- 这是基于史诗007已完成的多租户包,在现有Node.js + TypeScript + Hono + TypeORM + PostgreSQL + React技术栈上的集成
- 集成点:现有server包导入模式(packages/server/src/index.ts)、web中用户管理UI包的集成模式
- 需要遵循的现有模式:server直接包导入、web中UI包集成、Hono中间件、TypeORM实体、React组件、TanStack Query数据获取
- 关键发现:多租户模块包直接依赖多租户认证模块的认证中间件,其中已实现租户上下文管理(`c.set('tenantId', user.tenantId)`),无需额外添加租户中间件
- 故事结构简化:Server多租户集成(包替换、实体初始化、路由注册)在同一个文件中完成,前端无需租户上下文管理
- 关键兼容性要求:现有单租户系统完全不变、直接替换为多租户包、性能影响最小化
- 每个故事必须包含验证现有功能保持完整的回归测试
该epic应按照现有包集成模式,将server和web直接改为多租户系统,为后续按需拼装不同系统提供基础。"
---
**🤖 Generated with [Claude Code](https://claude.ai/code)**
via [Happy](https://happy.engineering)
**Co-Authored-By: Claude