# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [v1.0.0] - 2026-01-21 ### Added - 实现动态数据源延迟加载功能 - 从库数据源在启动时不自动连接 - 提供接口手动加载从库数据源 - 支持动态切换从库配置(如切换不同的数据库) - 支持多种数据库类型(MySQL、PostgreSQL、Oracle) - 新增数据源配置表 sys_datasource_config - 新增动态数据源管理接口 IDynamicDataSourceManager - 新增 REST API 接口 - POST /system/datasource/loadSlave - 加载从库数据源 - POST /system/datasource/switchSlave/{dbName} - 切换从库库名 - GET /system/datasource/getSlaveConfig - 获取从库配置 - POST /system/datasource/switch/{dsName} - 切换数据源 - DELETE /system/datasource/{dsName} - 移除数据源 - 新增文档 - 需求文档:docs/requirements/2026-01-21-001-动态数据源延迟加载.md - 设计文档:docs/design/2026-01-21-001-动态数据源延迟加载设计.md - 决策记录:docs/decisions/2026-01-21-001-ADR-动态数据源延迟加载.md - SQL 脚本:docs/sql/2026-01-21-001-sys_datasource_config.sql - 提示词:docs/prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md - 会话记录:docs/sessions/2026-01-21-001-session.md - 变更日志:docs/changelog/2026-01-21-001-changelog.md - 新增代码文件 - IDynamicDataSourceService.java - 动态数据源服务接口 - DynamicDataSourceServiceImpl.java - 动态数据源服务实现 - DatasourceController.java - 数据源管理控制器 - IDynamicDataSourceManager.java - 动态数据源管理接口 ### Changed - 扩展 DataSourceManager 类,添加动态数据源管理方法 - addDynamicDataSource - 动态添加数据源 - removeDataSource - 移除数据源 - updateDataSource - 更新数据源 - 扩展 SysDatasourceConfigMapper 接口,添加 selectSysDatasourceConfigByDsName 方法 - 扩展 SysDatasourceConfigMapper.xml,添加 selectSysDatasourceConfigByDsName SQL ### Fixed - 修复循环依赖问题 - 创建 IDynamicDataSourceManager 接口解决 datai-system 和 datai-framework 互相依赖问题 - DynamicDataSourceServiceImpl 使用接口而不是直接依赖 DataSourceManager - 修复导入错误 - 删除 DynamicDataSourceServiceImpl 中未使用的导入 - 修复 DataSourceManager 中的异常处理问题 ### Changed - 更新核心框架模块描述,添加"延迟加载支持"功能 [Unreleased]: https://github.com/example/datai/compare/v1.0.0...HEAD [v1.0.0]: https://github.com/example/datai/releases/tag/v1.0.0