docs: add cell storage protocol modules design for 2.2.6–2.2.10

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-05-13 17:48:22 +08:00
1 parent 058811ae77
commit 246ad2228e
153 files changed
+20578 -2040

No files matched your search

@@ -0,0 +1,46 @@
## ADDED Requirements
### Requirement: MySQL 版本
生产与标准开发环境的关系型数据库 SHALL 使用 MySQL 5.7(与《中科兴皖需求 V0.3》§3 一致)。
#### Scenario: 新环境搭建文档
- **WHEN** 编写或更新部署文档
- **THEN** 文档 SHALL 声明 MySQL 5.7 及字符集/排序规则(如 utf8mb4)基线
### Requirement: 公共字段集合
除需求或 OpenSpec 明确豁免的关联/日志表外,业务表 SHALL 包含以下公共字段且语义一致:`id`(VARCHAR(64),UUID)、`tenant_no`、`order_num`、`remark`、`create_by`、`create_dept_id`、`create_time`、`update_by`、`update_time`、`del_flag`(与需求 §3 列表一致)。
#### Scenario: 新建业务表 DDL
- **WHEN** 创建新表
- **THEN** 表定义 SHALL 包含上述公共字段,且 `del_flag` 默认 `0` 表示未删除
### Requirement: 字段顺序
表模型定义与 DDL 中,业务字段 SHALL 位于 `id` 之后;`tenant_no`、`order_num`、`remark`、`create_by`、`create_dept_id`、`create_time`、`update_by`、`update_time`、`del_flag` SHALL 位于业务字段之后(与需求 §3 一致)。
#### Scenario: Code review DDL
- **WHEN** 审查新建表 SQLAlchemy 模型或 raw SQL
- **THEN** 字段顺序 SHALL 符合本 requirement,除非评审记录中注明例外原因
### Requirement: 逻辑删除
应用层 SHALL NOT 对业务数据执行物理删除;删除操作 SHALL 通过将 `del_flag` 置为 `1` 实现;查询默认 SHALL 排除已删除行。
#### Scenario: 删除用户可见记录
- **WHEN** 用户点击删除某条业务数据
- **THEN** 服务端 SHALL 更新 `del_flag` 而非 `DELETE FROM`,且列表接口默认不返回 `del_flag=1`
### Requirement: 主键类型
主键 `id` SHALL 为 `VARCHAR(64) NOT NULL`,取值策略为 UUID(与需求 §3)。
#### Scenario: 插入新行
- **WHEN** 应用创建新实体
- **THEN** 写入的 `id` SHALL 为符合长度与格式的 UUID 字符串