58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
# 数据库表结构设计
|
|
|
|
本目录存放 WMS SaaS 的数据库表结构设计,是 `backend/database/migrations` 的设计依据。通用规范见 [../09-database.md](../09-database.md)。
|
|
|
|
**先设计、确认,再写迁移;改表时迁移与本目录文档同步更新。**
|
|
|
|
## 文件组织
|
|
|
|
按业务领域一个文件,文件内包含该领域所有表:
|
|
|
|
| 文件 | 领域 | 对应 Phase |
|
|
| --- | --- | --- |
|
|
| `00-conventions.md` | 命名、公共字段、类型、索引约定 | 1 |
|
|
| `01-er-overview.md` | 全局 ER 关系图 | 1 |
|
|
| `10-saas.md` | 租户、用户、角色、权限、租户设置、操作日志 | 4 |
|
|
| `20-warehouse.md` | 仓库、库区、库位、库位类型 / 容量 / 策略 | 5 |
|
|
| `30-master-data.md` | 客户、供应商、商品、SKU、条码、包装规格 | 6 |
|
|
| `40-inventory.md` | 库存余额、批次、库存流水、锁定 / 冻结、调整、盘点 | 7、8 |
|
|
| `50-inbound.md` | 入库单、明细、收货、差异、质检、上架 | 9 |
|
|
| `60-outbound.md` | 订单、出库单、明细、分配、波次、拣货、复核、打包、发货 | 10、11 |
|
|
| `70-return.md` | 退货单、退货收货、质检、重新入库、报废 | — |
|
|
| `80-logistics.md` | 物流渠道、承运商、服务、运费规则、面单、Tracking | 12 |
|
|
| `90-integration.md` | 第三方平台店铺、凭证、同步任务、Webhook 日志 | 14 |
|
|
| `95-audit.md` | 登录日志、API 日志、状态变更日志、数据审计 | 4 起 |
|
|
|
|
文件在对应 Phase 开始前创建,不提前为未来阶段编写。
|
|
|
|
## 单表设计模板
|
|
|
|
````markdown
|
|
### wms_xxx 表中文名
|
|
|
|
用途:一句话说明。
|
|
|
|
| 字段 | 类型 | 可空 | 默认 | 说明 |
|
|
| --- | --- | --- | --- | --- |
|
|
| id | BIGINT UNSIGNED | N | AUTO_INCREMENT | 内部主键 |
|
|
| tenant_code | VARCHAR(32) | N | | 租户编码 |
|
|
| xxx_code | VARCHAR(64) | N | | 业务编码 |
|
|
| status | VARCHAR(32) | N | | 状态,取值见下方状态说明 |
|
|
| version | INT UNSIGNED | N | 0 | 乐观锁(按需) |
|
|
| created_at | TIMESTAMP | Y | | |
|
|
| updated_at | TIMESTAMP | Y | | |
|
|
|
|
索引:
|
|
|
|
| 名称 | 类型 | 字段 | 支撑的查询 |
|
|
| --- | --- | --- | --- |
|
|
| uk_tenant_xxx_code | UNIQUE | (tenant_code, xxx_code) | 按业务编码查找 |
|
|
| idx_tenant_status_created | INDEX | (tenant_code, status, created_at) | 列表筛选 |
|
|
|
|
状态说明 / 合法流转(有状态字段时必填)。
|
|
|
|
关联:与哪些表通过哪些业务编码关联。
|
|
|
|
并发 / 审计说明:是否需要行锁、乐观锁、流水、软删除,及原因。
|
|
````
|