You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
ADDED Requirements
Requirement: MySQL 连接管理
系统应当提供 MySQL 连接管理能力,包括连接初始化、连接池管理和表结构初始化。
Scenario: MySQL 连接初始化成功
- WHEN 应用启动且 MySQL 配置有效
- THEN 系统成功建立 MySQL 连接并创建必要的表结构
Scenario: MySQL 连接初始化失败
- WHEN 应用启动但 MySQL 服务不可用
- THEN 系统输出错误日志并标记 MySQL 为不可用状态,但不阻止应用启动
Requirement: 行情数据持久化存储
系统应当使用 MySQL 作为行情数据的主要持久化存储,替代 SQLite。
Scenario: 行情数据写入 MySQL
- WHEN 刷新接口接收到行情数据更新请求
- THEN 系统将数据写入 MySQL 的
market_data表
Scenario: 行情数据从 MySQL 读取
- WHEN Redis 缓存未命中且 MySQL 可用
- THEN 系统从 MySQL 读取行情数据并返回
Requirement: MySQL 表结构迁移
系统应当提供从 SQLite 到 MySQL 的数据迁移能力,保证历史数据不丢失。
Scenario: 首次启动数据迁移
- WHEN 应用首次启动且 MySQL 可用但表为空
- THEN 系统从 SQLite 读取历史数据并迁移到 MySQL
Scenario: 迁移完成
- WHEN 数据迁移完成
- THEN 系统输出迁移成功日志,后续读写直接操作 MySQL
Requirement: MySQL 事务支持
系统应当使用 MySQL 事务保证数据写入的原子性和一致性。
Scenario: 批量写入事务
- WHEN 刷新接口需要写入多个品种的行情数据
- THEN 系统使用事务保证所有数据要么全部写入成功,要么全部回滚