# 2026-05-16 开发日志

## 1. 将敏感信息从主配置中分离到 local 配置

- 动作：将数据库用户名、密码等敏感配置从公共配置中拆分到 `application-local.yml`。
- 原因：避免敏感信息直接暴露在主配置文件中，提升本地开发配置的安全性与可维护性。
- 结果：公共配置与本地敏感配置分离，便于按环境管理。

## 2. 修复 `DatabaseHealthCheckService` 读取配置时占位符未解析的问题

- 动作：调整 `DatabaseHealthCheckService` 的配置加载逻辑，读取 YAML 后对最终配置做占位符解析。
- 原因：直接手动 flatten YAML 时，`${mysql.datasource.username}`、`${mysql.datasource.password}` 等占位符不会自动替换，导致读取到的是原始占位符文本。
- 结果：`spring.datasource.username/password` 可正确解析为 `application-local.yml` 中的真实值。

## 3. 补充 H2 数据库文件不存在时的自动初始化逻辑

- 动作：在启动前健康检查中增加 H2 文件数据库存在性判断，若数据库文件缺失则自动执行导入初始化流程。
- 原因：避免本地首次启动时因 H2 文件不存在导致应用无法正常启动。
- 结果：启动体验更友好，缺少数据库文件时可自动完成初始化。
