rwadurian/backend/services/identity-service/docs/REMAINING_STEPS.md

4.8 KiB
Raw Blame History

剩余步骤说明

所有源代码错误已修复!现在需要执行以下步骤来解决 Prisma Client 和依赖包的问题。

🔧 需要执行的命令(按顺序)

1. 安装新增的依赖包

npm install

这将安装以下新增的包:

  • @nestjs/passport@^10.0.0
  • @nestjs/schedule@^4.0.0
  • passport-jwt@^4.0.1
  • @types/passport-jwt@^4.0.0

2. 生成 Prisma Client

npm run prisma:generate

这将根据更新后的 schema.prisma 生成新的 Prisma Client包括

  • DeadLetterEvent 模型
  • SmsCode 模型

3. 创建并应用数据库迁移

npm run prisma:migrate

这将创建并应用新表的数据库迁移。如果提示输入迁移名称,可以使用:

add_dead_letter_and_sms_tables

4. 启动开发服务器

npm run start:dev

已修复的所有错误(共 21 个)

代码层面的修复:

  1. DomainException → DomainError (3 处)

  2. UserId 类型问题 (2 处)

  3. Seed Buffer 类型问题 (2 处)

  4. IDENTITY_TOPICS 缺失主题 (2 处)

  5. DomainEventMessage 缺失字段 (2 处)

需要命令解决的问题:

  1. Prisma Client 未生成 (10 处)

    • 需要运行 npm run prisma:generate
    • 涉及所有 prisma.deadLetterEventprisma.smsCode 的调用
  2. 依赖包未安装 (2 处)

    • 需要运行 npm install
    • @nestjs/passportpassport-jwt

📝 修改的文件列表

🎯 验证步骤

完成上述命令后,验证所有问题已解决:

# 1. 检查编译
npm run build

# 2. 运行测试
npm test

# 3. 启动开发服务器
npm run start:dev

如果一切正常,你应该看到类似以下的输出:

[Nest] 12345  - 2025/11/24, 9:43:00 AM     LOG [NestFactory] Starting Nest application...
[Nest] 12345  - 2025/11/24, 9:43:00 AM     LOG [InstanceLoader] AppModule dependencies initialized
...
[Nest] 12345  - 2025/11/24, 9:43:01 AM     LOG [NestApplication] Nest application successfully started

🔍 如果遇到问题

Prisma 迁移失败

如果数据库迁移失败,可以尝试:

# 重置数据库(开发环境)
npm run prisma:migrate reset

# 或手动创建迁移
npx prisma migrate dev --create-only
# 然后编辑迁移文件
# 最后应用迁移
npx prisma migrate dev

依赖安装失败

如果 npm install 失败,尝试:

# 清理缓存
npm cache clean --force

# 删除 node_modules 和 lock 文件
rm -rf node_modules package-lock.json

# 重新安装
npm install

📚 相关文档