docs-03-header-template.md
4.03 KB
03-数据库设计文档
-
Schema:
{{schema_name}} -
Migration 清单:
sql/migrations/V*.sql(由 Flyway 顺序 apply) -
生成方式: 由 A3
db-design-gen基于docs/01-需求清单/<module>/下各 REQ 卡片(文件名 == req_id)正向设计生成(schema SSoT)。
项目标准列约定
下文每张业务表的字段清单都自动包含以下 9 个基础标准列(匈牙利前缀 i int / s varchar / t datetime / b bit),所有表通用;在此之上按表位追加专属标准列:主表额外加 6 个审核标准列(共 15 列),从表额外加 1 个标准列 sParentId(共 10 列)。渲染时由 docs-03-table-template.md 模板内置原样输出。
主表 = 「表清单」中的第一张表;从表 = 其余各表。
基础标准列(9 列,所有表):
| 列名 | 类型 | 可空 | 主键 | 默认 | 说明 |
|---|---|---|---|---|---|
iIncrement |
int | 否 | 是 | — | 整数主键 ID(标准列);DDL 译为 PRIMARY KEY + AUTO_INCREMENT
|
sId |
varchar(50) | 否 | — | — | 业务 ID(标准列,对外暴露的字符串标识,如 UUID / 人类可读编号) |
sBrandsId |
varchar(50) | 否 | — | 1111111111 |
品牌 ID(多租户隔离,标准列);DDL 译为 DEFAULT '1111111111'
|
sSubsidiaryId |
varchar(50) | 否 | — | 1111111111 |
子公司 ID(组织层级隔离,标准列);DDL 译为 DEFAULT '1111111111'
|
sMakePerson |
varchar(50) | 否 | — | 当前登录用户名 | 制单人(标准列);非 SQL 默认——应用在 insert 时写入当前登录用户名,DDL 仅写 varchar(50) NOT NULL(在该列 COMMENT / 表业务注记里注明 app-assigned) |
tCreateDate |
datetime | 否 | — | 当前时间 | 记录创建时间(标准列);DDL 译为 DEFAULT CURRENT_TIMESTAMP
|
tUpdateDate |
datetime | 否 | — | 当前时间戳 | 记录更新时间(标准列);DDL 译为 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(行更新自动刷新) |
iOrder |
int | 否 | — | 数据行条数+1 | 排序号;非 SQL 默认——应用在 insert 时按 count+1 赋值,DDL 仅写 int NOT NULL(不写 DEFAULT 表达式,在该列 COMMENT / 表业务注记里注明 app-assigned) |
sMemo |
LONGTEXT | 是 | — | — | 备注(标准列) |
从表专属标准列(从「表清单」第二张表起,即除第一张主表外的所有表都加,插入位置紧随 sId 之后):
| 列名 | 类型 | 可空 | 主键 | 默认 | 说明 |
|---|---|---|---|---|---|
sParentId |
varchar(50) | 否 | — | — | 业务父级 ID(标准列);仅从表有,紧随 sId 之后 |
主表专属标准列(仅「表清单」第一张主表加,所有主表无条件包含,共 6 列;插入位置在 iOrder 之后、sMemo 之前):
| 列名 | 类型 | 可空 | 主键 | 默认 | 说明 |
|---|---|---|---|---|---|
bInvalid |
bit | 否 | — | — | 是否作废(标准列);非 SQL 默认——应用 insert 时赋值(如 0),DDL 仅写 bit NOT NULL
|
bCheck |
bit | 否 | — | — | 是否审核(标准列);非 SQL 默认——应用 insert 时赋值(如 0),DDL 仅写 bit NOT NULL
|
tCheckDate |
datetime | 否 | — | — | 审核时间(标准列);非 SQL 默认——审核时由应用写入,DDL 仅写 datetime NOT NULL
|
sCheckPerson |
varchar(50) | 否 | — | — | 审核人(标准列);非 SQL 默认——审核时由应用写入,DDL 仅写 varchar(50) NOT NULL
|
sStatus |
varchar(50) | 否 | — | — | 审核状态(标准列);非 SQL 默认——应用维护,DDL 仅写 varchar(50) NOT NULL
|
sFormId |
varchar(50) | 否 | — | — | 界面 ID(标准列);非 SQL 默认——应用维护,DDL 仅写 varchar(50) NOT NULL
|
字典 / 辅助表如有豁免,在该表业务注记里注明豁免原因。
ER 关系概览
{{er_overview}}
表清单
{{#each tables}}
-
{{table_name}}— {{purpose}} {{/each}}