4.5 KiB
4.5 KiB
变更日志
元数据
- 需求编号: 2026-01-24-002
- 创建时间: 2026-01-24
- 创建人: SSOT 架构师
- 版本号: v1.0.0
变更概述
实现环境从库初始化功能,允许为环境配置自动创建对应的从库数据源。该功能包括数据库创建、配置写入、数据源注册、连接验证等步骤,并确保从库一经创建不允许修改或删除。
变更内容
新增功能
- 实现环境从库初始化功能,包括:
- 从配置文件读取主库配置(application-druid.yml)
- 生成从库名称(slave_环境编码)
- 检查数据源名称是否已存在
- 使用 JDBC 创建数据库(字符集:utf8mb4,排序规则:utf8mb4_general_ci)
- 写入数据源配置表
- 注册数据源到 DataSourceManager
- 切换到从库
- 验证连接有效性
- 切换回主库
- 使用 Spring 事务保证原子性,验证失败时自动回滚
- 从库一经创建,不允许任何修改、删除或重新初始化
新增代码文件
-
datai-system/src/main/java/com/datai/system/service/ISysDatasourceConfigService.java- 新增方法:
createSlaveDatabase(String environmentCode)
- 新增方法:
-
datai-system/src/main/java/com/datai/system/service/impl/SysDatasourceConfigServiceImpl.java- 新增方法:
createSlaveDatabase(String environmentCode) - 新增辅助方法:
extractDbNameFromUrl(String jdbcUrl) - 新增辅助方法:
extractHostFromUrl(String jdbcUrl) - 新增辅助方法:
extractPortFromUrl(String jdbcUrl) - 新增辅助方法:
extractDbTypeFromUrl(String jdbcUrl)
- 新增方法:
-
datai-scenes/datai-scene-salesforce/datai-salesforce-setting/src/main/java/com/datai/setting/service/IDataiConfigEnvironmentService.java- 新增方法:
initSlaveDatasource(String environmentCode)
- 新增方法:
-
datai-scenes/datai-scene-salesforce/datai-salesforce-setting/src/main/java/com/datai/setting/service/impl/DataiConfigEnvironmentServiceImpl.java- 新增方法:
initSlaveDatasource(String environmentCode)
- 新增方法:
-
datai-scenes/datai-scene-salesforce/datai-salesforce-setting/src/main/java/com/datai/setting/controller/DataiConfigEnvironmentController.java- 新增方法:
initSlaveDatasource(String environmentCode) - 接口路径:
POST /setting/environment/initSlave - 权限注解:
@PreAuthorize("@ss.hasPermi('setting:environment:initSlave')") - 日志注解:
@Log(title = "配置环境", businessType = BusinessType.OTHER)
- 新增方法:
修改代码文件
datai-scenes/datai-scene-salesforce/datai-salesforce-setting/src/main/java/com/datai/setting/model/domain/DataiConfigEnvironment.java- 新增字段:
datasourceId(Long 类型) - 新增 getter/setter 方法
- 新增 Swagger 注解:
@Schema(title = "数据源ID") - 新增 Excel 注解:
@Excel(name = "数据源ID")
- 新增字段:
数据库变更
- 修改表:
datai_config_environment- 新增字段:
datasource_id(BIGINT 类型) - 新增索引:
idx_datasource_id(针对 datasource_id 字段)
- 新增字段:
新增文档
影响范围
- 模块: datai-system、datai-salesforce-setting
- 功能: 环境配置管理、数据源管理
- 文件: 5 个修改文件
- 数据库: 1 个表修改(datai_config_environment)
- 接口: 1 个新增接口(POST /setting/environment/initSlave)