datai/datai-scenes/datai-scene-salesforce/docs/sessions/2026-02-03-003-02-session.md

3.9 KiB
Raw Blame History

会话记录 - 元数据类型定义

元数据

  • 需求编号003-02
  • 需求名称:元数据类型定义
  • 开始时间2026-02-03
  • 结束时间2026-02-03
  • 当前阶段:阶段 3方案决策

阶段记录

阶段 1需求定义

阶段 2方案设计

  • 状态:已完成(已重新生成,覆盖原有内容)
  • 设计文档:2026-02-03-003-02-元数据类型定义-设计.md
  • 关键设计决策:
    1. 架构设计采用分层架构Controller → Service → Factory → Metadata API
    2. 连接管理:复用 003-01 的 MetadataConnectionFactory
    3. 技术选型
      • JAXB 2.3.x 用于元数据对象与 XML 转换
      • ZipOutputStream 用于创建部署包
      • Spring @Async 用于异步日志记录
    4. 数据模型:创建 datai_metadata_deploy_log 表,包含 18 个字段和 7 个索引
    5. 部署流程:创建 ZIP → 执行部署 → 异步记录日志 → 轮询部署状态
    6. 接口设计8 个 REST API 接口7 个部署接口 + 1 个日志查询接口)
    7. 支持的元数据类型CustomObject、CustomField、ApexClass、ApexTrigger、ApexPage、ApexComponent、Flow
    8. 状态轮询:最多 60 次轮询,每 5 秒一次,支持超时处理
    9. 错误处理:统一的异常转换规则,使用专用错误码
    10. 性能优化异步日志、连接复用、ZIP 压缩、索引优化

阶段 3方案决策

  • 状态:已完成(已重新生成,覆盖原有内容)
  • 决策文档:2026-02-03-003-02-ADR-元数据部署技术选型.md
  • 关键决策内容:
    1. XML 序列化方案:使用 JAXB标准化与兼容性好与 WSC 集成度高
    2. ZIP 包构建方案:使用 Java 原生 ZipOutputStream依赖最小化
    3. 部署交互模式:同步轮询封装(后端轮询),前端交互简化
    4. 日志记录策略:异步方式记录日志,性能优化
    5. 部署超时策略5 分钟超时60 次轮询,每 5 秒一次)

阶段 4数据库结构生成

  • 状态:已完成
  • 涉及数据库变更:
  • SQL 脚本:2026-02-03-003-02-元数据部署日志.sql
  • 数据库变更内容:
    1. 创建表datai_metadata_deploy_log
      • 18 个字段id, operation_type, metadata_type, metadata_name, deploy_id, status, number_component_errors, number_components_deployed, number_test_errors, number_tests_completed, error_message, operation_time, user_id, create_by, create_time, update_by, update_time, del_flag
      • 7 个索引idx_operation_type, idx_metadata_type, idx_status, idx_deploy_id, idx_operation_time, idx_user_id, idx_create_time
    2. 数据字典
      • metadata_operation_type7 种操作类型部署自定义对象、部署自定义字段、部署Apex类、部署Apex触发器、部署Visualforce页面、部署Visualforce组件、部署Flow
      • metadata_deploy_status6 种部署状态(队列中、进行中、成功、失败、已取消、超时)

待完成阶段

  • 阶段 3方案决策
  • 阶段 4数据库结构生成
  • 阶段 5提示词生成
  • 阶段 6代码生成
  • 阶段 7会话记录
  • 阶段 8变更日志
  • 阶段 9复盘和 API 文档
  • 阶段 10代码提交

相关文档