|
|
2d8f9c0aa2
|
feat: 实现从库数据源注解功能 (REQ-003)
- 扩展 @DataSource 注解,支持从库数据源的动态切换
- 在 DataSourceAspect 切面中添加动态路由逻辑,通过反射调用 SalesforceConfigCacheManager.getCurrentEnvironmentCode() 方法获取当前激活环境编码
- 构造从库数据源名称(slave_环境编码),检查从库是否存在,存在则切换到从库,不存在则回退到主库
- 缓存 SalesforceConfigCacheManager Bean 和 getCurrentEnvironmentCode Method 对象,优化性能
- 为 8 个方法添加 @DataSource(DataSourceType.SLAVE) 注解:
- DataiIntegrationObjectServiceImpl.createObjectStructure
- DataiIntegrationObjectServiceImpl.syncSingleObjectData
- DataiIntegrationObjectServiceImpl.syncMultipleObjectData
- DataiIntegrationBatchServiceImpl.syncBatchData
- DataiIntegrationMetadataChangeServiceImpl.syncToLocalDatabase
- DataiIntegrationMetadataChangeServiceImpl.syncBatchToLocalDatabase
- DataSynchronizerImpl.synchronizeData
- DataSynchronizerImpl.batchSynchronizeData
- 创建需求文档、设计文档、决策记录、提示词文档、会话记录、变更日志、复盘文档和 API 文档
- 更新 CHANGELOG.md 和索引文档
|
2026-01-24 23:21:57 +08:00 |
|
|
|
fe887c0641
|
fix: 修改从库数据库排序规则为 utf8mb4_general_ci
问题:从库数据库排序规则应使用 utf8mb4_general_ci 而非 utf8mb4_unicode_ci
修复:
- 修改 SQL 语句,将 COLLATE utf8mb4_unicode_ci 改为 COLLATE utf8mb4_general_ci
- 更新相关文档,包括接口文档、API 文档、变更日志、实施方案
说明:
- utf8mb4_general_ci 是 MySQL 的默认排序规则,性能更好
- utf8mb4_unicode_ci 是基于 Unicode 标准的排序规则,支持更多语言,但性能稍差
|
2026-01-24 20:51:46 +08:00 |
|
|
|
e80489530b
|
docs: 更新 DataiConfigEnvironmentController 接口文档
- 新增 0009-init-slave-datasource.md 接口文档
- 更新 0001-environment-list.md 接口文档,添加 datasourceId 字段
- 更新 0003-get-info.md 接口文档,添加 datasourceId 字段
- 更新 0004-add-environment.md 接口文档,更新最后更新日期
- 更新 0005-edit-environment.md 接口文档,更新最后更新日期
- 更新 index.md 索引,添加新接口链接并更新接口统计
|
2026-01-24 20:20:46 +08:00 |
|
|
|
b9be19c94d
|
feat: 环境从库初始化功能 (2026-01-24-002)
实现环境从库初始化功能,包括数据库创建、配置写入、数据源注册、连接验证等步骤。
主要变更:
- 在 ISysDatasourceConfigService 接口中新增 createSlaveDatabase 方法
- 在 SysDatasourceConfigServiceImpl 中实现 createSlaveDatabase 方法
- 从 application-druid.yml 配置文件中读取主库配置
- 生成从库名称(slave_环境编码)
- 检查数据源名称是否已存在
- 使用 JDBC 创建数据库(字符集:utf8mb4,排序规则:utf8mb4_unicode_ci)
- 写入数据源配置表
- 注册数据源到 DataSourceManager
- 切换到从库并验证连接有效性
- 切换回主库
- 使用 Spring 事务保证原子性,验证失败时自动回滚
- 新增辅助方法:extractDbNameFromUrl、extractHostFromUrl、extractPortFromUrl、extractDbTypeFromUrl
- 在 IDataiConfigEnvironmentService 接口中新增 initSlaveDatasource 方法
- 在 DataiConfigEnvironmentServiceImpl 中实现 initSlaveDatasource 方法
- 在 DataiConfigEnvironmentController 中新增 initSlaveDatasource 接口方法
- 在 DataiConfigEnvironment 实体类中新增 datasourceId 字段
- 在 datai_config_environment 表中新增 datasource_id 字段并添加索引
文档变更:
- 新增需求文档:2026-01-24-002-环境从库初始化.md
- 新增设计文档:2026-01-24-002-环境从库初始化设计.md
- 新增决策记录:2026-01-24-002-ADR-环境从库初始化.md
- 新增提示词文档:2026-01-24-002-prompt-环境从库初始化.md
- 新增实施方案:2026-01-24-002-implementation-环境从库初始化.md
- 新增变更日志:2026-01-24-002-changelog.md
- 新增复盘文档:2026-01-24-002-retro.md
- 新增 API 文档:2026-01-24-002-api-环境从库初始化.md
- 新增会话记录:2026-01-24-002-session.md
- 更新项目索引:index.md
- 更新根目录变更日志:CHANGELOG.md
相关需求:2026-01-24-002
|
2026-01-24 20:12:48 +08:00 |
|
|
|
dd4efbd4e1
|
feat: [012] 环境有效性字段功能
|
2026-01-23 13:29:49 +08:00 |
|
|
|
1af07403fb
|
fix: 修复 setting 模块业务逻辑问题和 NullPointerException
主要修改:
1. 添加 orgType 字段支持源/目标 ORG 类型隔离
- DataiConfigAuditLog、DataiConfigEnvironment、DataiConfigSnapshot 添加 orgType 字段
- 相关 DTO、VO、Mapper XML 同步更新
- 创建 SQL 脚本:add_org_type_to_*.sql
2. 修复业务逻辑问题
- SalesforceConfigCacheManager:添加并发安全锁,修复环境初始化查询条件
- DataiConfigSnapshotServiceImpl:添加快照恢复审计日志记录
- DataiConfigEnvironmentServiceImpl:完善环境切换的事务回滚机制
- EnvironmentSwitchListener:移除重复环境切换,移除 @Async 注解
- ConfigChangeListener:添加空指针检查
3. 修复 NullPointerException
- DataiConfigurationController.list():添加 list 空值检查
- DataiConfigSnapshotController.list():添加 list 空值检查
- 过滤 null environmentId 防止 Map 创建失败
4. 生成 API 文档
- DataiConfigEnvironmentController:切换环境、获取当前环境接口文档
- DataiConfigSnapshotController:快照管理完整接口文档
- DataiConfigurationController:配置管理完整接口文档
- 创建 setting 模块索引:docs/api-docs/setting/index.md
5. 更新文档索引
- 更新 docs/index.md 添加 setting 模块索引链接
|
2026-01-14 14:08:33 +08:00 |
|