数据库表设计文档
1. 数据库概述
1.1 数据库信息
| 属性 | 值 |
|---|---|
| 数据库名称 | wm |
| 字符集 | utf8mb4 |
| 排序规则 | utf8mb4_bin |
| 存储引擎 | InnoDB |
| 字符集支持 | 支持Unicode,包括Emoji等特殊字符 |
1.2 数据库表总览
| 序号 | 表名 | 中文名称 | 说明 |
|---|---|---|---|
| 1 | user | 用户表 | 存储系统用户信息 |
| 2 | file_info | 文件信息表 | 存储上传文件信息 |
| 3 | app_config | APP配置表 | 存储APP版本和配置信息 |
| 4 | login_log | 登录日志表 | 记录用户登录行为 |
| 5 | user_warehouse_location | 用户仓库位置关联表 | 用户与仓库位置的权限映射 |
| 6 | item_sn | 商品SN关联表 | 商品序列号主表 |
| 7 | item_sn_import_log | 商品SN导入日志表 | 记录SN导入操作 |
| 8 | item_sn_scan_log | 商品SN扫描日志表 | 记录SN扫描操作 |
| 9 | item_fulfillment_ship_status_log | 发货状态更新日志表 | 记录出库单发货状态变更 |
| 10 | item_receipt_log | 商品接收日志表 | 记录入库操作日志 |
| 11 | item_fulfillment_log | 商品发货日志表 | 记录出库操作日志 |
| 12 | item_sn_upsert_log | 商品SN更新日志表 | 记录SN新增/更新操作 |
1.3 表关系图
2. 表详细设计
2.1 用户表 (user)
表说明:存储系统用户基础信息,支持用户登录、权限管理等功能。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 用户ID,主键自增 |
username | varchar(32) | NOT NULL, UNIQUE | - | 用户名,唯一标识 |
password | varchar(128) | NOT NULL | - | 密码(BCrypt加密) |
nickname | varchar(32) | NULL | NULL | 用户昵称 |
avatar | varchar(128) | NULL | NULL | 用户头像URL |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效:1-有效,0-无效 |
version | bigint unsigned | NOT NULL | 0 | 乐观锁版本号 |
索引列表:
| 索引名 | 类型 | 字段 | 说明 |
|---|---|---|---|
PRIMARY | PRIMARY KEY | id | 主键索引 |
username | UNIQUE KEY | username | 用户名唯一索引 |
nickname | KEY | nickname | 昵称普通索引 |
create_time | KEY | create_time | 创建时间索引 |
初始化数据:
| username | password |
|---|---|
admin | {bcrypt}$2a$10$oH3U9NjVVtNIWbofevCqXOUk6VynxgMkdLE89UQxI1wxPQLVNJNA. |
说明:默认管理员账号
admin,密码为admin(已BCrypt加密)。
2.2 文件信息表 (file_info)
表说明:存储系统上传文件的元数据信息。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | varchar(32) | PRIMARY KEY | - | 文件ID |
code | varchar(32) | NOT NULL, UNIQUE | - | 文件编码 |
name | varchar(64) | NOT NULL | - | 存储文件名 |
origin | varchar(128) | NOT NULL | - | 原始文件名 |
type | varchar(128) | NOT NULL | - | 文件类型(MIME Type) |
size | bigint unsigned | NOT NULL | - | 文件大小(字节) |
path | varchar(16) | NOT NULL | - | 文件存储路径 |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
code | UNIQUE KEY | code |
create_time | KEY | create_time |
2.3 APP配置表 (app_config)
表说明:存储移动APP的版本信息和配置参数。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 配置ID |
app_id | varchar(32) | NOT NULL | - | APP唯一标识 |
app_name | varchar(64) | NOT NULL | - | APP名称 |
app_version | varchar(64) | NOT NULL | - | 版本号 |
app_url | varchar(128) | NOT NULL | - | 下载链接 |
force_update | tinyint(1) | NOT NULL | 1 | 是否强制更新 |
config_map | json | NOT NULL | - | 配置参数(JSON格式) |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
app_id_app_version | UNIQUE KEY | app_id, app_version |
app_id | KEY | app_id |
app_name | KEY | app_name |
create_time | KEY | create_time |
app_version | KEY | app_version |
初始化数据:
| app_id | app_name | app_version | app_url | config_map |
|---|---|---|---|---|
bsg-wm | BSG - Warehouse Management | 1.0.0 | `` | {} |
2.4 登录日志表 (login_log)
表说明:记录用户登录行为,用于安全审计和追溯。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
user_id | bigint unsigned | NOT NULL | - | 用户ID |
username | varchar(64) | NOT NULL | - | 用户名 |
login_type | varchar(16) | NOT NULL | - | 登录类型:password |
login_time | datetime | NOT NULL | - | 登录时间 |
client_ip | varchar(32) | NOT NULL | - | 客户端IP地址 |
user_agent | varchar(255) | NULL | NULL | 用户代理(浏览器信息) |
login_result | varchar(16) | NOT NULL | - | 登录结果:success/fail |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
trace_id | varchar(100) | NULL | NULL | 链路追踪ID |
app_id | varchar(20) | NULL | NULL | 应用ID |
app_version | varchar(20) | NULL | NULL | 应用版本 |
platform | varchar(20) | NULL | NULL | 平台:iOS/Android/Web |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
user_id | KEY | user_id |
username | KEY | username |
login_time | KEY | login_time |
client_ip | KEY | client_ip |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
2.5 用户仓库位置关联表 (user_warehouse_location)
表说明:建立用户与仓库位置的关联关系,实现仓库权限隔离。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 关联ID |
user_id | bigint unsigned | NOT NULL | - | 用户ID |
warehouse_location_id | varchar(32) | NOT NULL | - | 仓库位置ID |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
user_id_warehouse_location | UNIQUE KEY | user_id, warehouse_location_id |
user_id | KEY | user_id |
warehouse_location_id | KEY | warehouse_location_id |
create_time | KEY | create_time |
2.6 商品SN关联表 (item_sn)
表说明:核心业务表,存储商品序列号的全生命周期信息。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 主键ID |
item_sn | varchar(32) | NOT NULL, UNIQUE | - | 商品序列号 |
item_id | varchar(32) | NULL | NULL | 商品ID(NetSuite) |
item_status | varchar(16) | NOT NULL | inactive | 状态:inactive/receipt/fulfill |
item_name | varchar(64) | NULL | NULL | 商品名称 |
warehouse_location_id | varchar(32) | NULL | NULL | 仓库位置ID |
warehouse_location_name | varchar(32) | NULL | NULL | 仓库位置名称 |
purchase_order_id | varchar(32) | NULL | NULL | 采购订单ID |
purchase_order_no | varchar(32) | NULL | NULL | 采购订单编号 |
item_receipt_id | varchar(32) | NULL | NULL | 入库单ID |
item_receipt_no | varchar(32) | NULL | NULL | 入库单编号 |
sales_order_id | varchar(32) | NULL | NULL | 销售订单ID |
sales_order_no | varchar(32) | NULL | NULL | 销售订单编号 |
item_fulfillment_id | varchar(32) | NULL | NULL | 出库单ID |
item_fulfillment_no | varchar(32) | NULL | NULL | 出库单编号 |
data_file_id | varchar(32) | NULL | NULL | 数据文件ID(导入来源) |
container_no | varchar(32) | NULL | NULL | 货柜编号 |
pallet_sn | varchar(32) | NULL | NULL | 托盘编号 |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
状态枚举:
| 状态值 | 说明 |
|---|---|
inactive | 未激活(初始状态) |
receipt | 已收货(入库完成) |
fulfill | 已发货(出库完成) |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_sn | UNIQUE KEY | item_sn |
purchase_order_id | KEY | purchase_order_id |
warehouse_location_id | KEY | warehouse_location_id |
data_file_id | KEY | data_file_id |
container_no | KEY | container_no |
pallet_sn | KEY | pallet_sn |
create_time | KEY | create_time |
purchase_order_no | KEY | purchase_order_no |
item_id | KEY | item_id |
item_fulfillment_id | KEY | item_fulfillment_id |
item_fulfillment_no | KEY | item_fulfillment_no |
item_receipt_id | KEY | item_receipt_id |
item_receipt_no | KEY | item_receipt_no |
sales_order_id | KEY | sales_order_id |
sales_order_no | KEY | sales_order_no |
2.7 商品SN导入日志表 (item_sn_import_log)
表说明:记录序列号批量导入操作的日志。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
data_file_id | varchar(32) | NOT NULL | - | 数据文件ID |
import_status | varchar(16) | NOT NULL | - | 导入状态:success/fail |
import_time | datetime | NOT NULL | - | 导入时间 |
import_count | int | NOT NULL | 0 | 导入SN数量 |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(100) | NULL | NULL | 链路追踪ID |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
user_id | KEY | user_id |
username | KEY | username |
data_file_id | KEY | data_file_id |
import_status | KEY | import_status |
import_time | KEY | import_time |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
2.8 商品SN扫描日志表 (item_sn_scan_log)
表说明:记录移动端扫描序列号的操作日志。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
item_sn | varchar(32) | NOT NULL | - | 扫描的序列号 |
item_id | varchar(32) | NULL | NULL | 商品ID |
item_name | varchar(255) | NULL | NULL | 商品名称 |
scan_related | varchar(16) | NOT NULL | - | 关联类型:IR/IF |
related_fr_id | varchar(32) | NOT NULL | - | 关联单据ID(IR/IF) |
related_fr_no | varchar(32) | NULL | NULL | 关联单据编号 |
related_order_id | varchar(32) | NULL | NULL | 关联订单ID |
related_order_no | varchar(32) | NULL | NULL | 关联订单编号 |
container_no | varchar(32) | NULL | NULL | 货柜编号 |
pallet_sn | varchar(32) | NULL | NULL | 托盘编号 |
scan_time | datetime | NOT NULL | - | 扫描时间 |
submit_result | varchar(16) | NOT NULL | success | 提交结果 |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(100) | NULL | NULL | 链路追踪ID |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
扫描关联类型:
| 类型值 | 说明 |
|---|---|
IR | Item Receipt(入库扫描) |
IF | Item Fulfillment(出库扫描) |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_sn | KEY | item_sn |
item_id | KEY | item_id |
item_name | KEY | item_name |
related_fr_id | KEY | related_fr_id |
related_fr_no | KEY | related_fr_no |
container_no | KEY | container_no |
pallet_sn | KEY | pallet_sn |
scan_time | KEY | scan_time |
user_id | KEY | user_id |
username | KEY | username |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
related_order_id | KEY | related_order_id |
related_order_no | KEY | related_order_no |
2.9 商品发货状态更新日志表 (item_fulfillment_ship_status_log)
表说明:记录出库单发货状态变更操作。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
item_fulfillment_id | varchar(32) | NOT NULL | - | 出库单ID |
item_fulfillment_no | varchar(32) | NULL | NULL | 出库单编号 |
sales_order_id | varchar(32) | NULL | NULL | 销售订单ID |
sales_order_no | varchar(32) | NULL | NULL | 销售订单编号 |
ship_status_id | varchar(16) | NOT NULL | - | 发货状态ID |
ship_status_name | varchar(16) | NOT NULL | - | 发货状态名称 |
warehouse_location_id | varchar(32) | NULL | NULL | 仓库位置ID |
warehouse_location_name | varchar(32) | NULL | NULL | 仓库位置名称 |
submit_time | datetime | NOT NULL | - | 提交时间 |
submit_result | varchar(16) | NOT NULL | - | 提交结果 |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(100) | NULL | NULL | 链路追踪ID |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
发货状态枚举:
| 状态ID | 状态名称 | 说明 |
|---|---|---|
A | Picked | 已拣货 |
B | Packed | 已打包 |
C | Shipped | 已发货 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_fulfillment_id | KEY | item_fulfillment_id |
item_fulfillment_no | KEY | item_fulfillment_no |
sales_order_id | KEY | sales_order_id |
sales_order_no | KEY | sales_order_no |
ship_status_id | KEY | ship_status_id |
ship_status_name | KEY | ship_status_name |
warehouse_location_id | KEY | warehouse_location_id |
warehouse_location_name | KEY | warehouse_location_name |
submit_time | KEY | submit_time |
user_id | KEY | user_id |
username | KEY | username |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
2.10 商品接收日志表 (item_receipt_log)
表说明:记录采购订单转入库单的操作日志。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
item_receipt_id | varchar(32) | NULL | NULL | 入库单ID |
item_receipt_no | varchar(32) | NULL | NULL | 入库单编号 |
purchase_order_id | varchar(32) | NULL | NULL | 采购订单ID |
purchase_order_no | varchar(32) | NULL | NULL | 采购订单编号 |
receipt_quantity | int | NOT NULL | - | 接收数量 |
submit_time | datetime | NOT NULL | - | 提交时间 |
submit_result | varchar(16) | NOT NULL | - | 提交结果 |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(64) | NULL | NULL | 链路追踪ID |
request_body | json | NULL | NULL | 请求参数(JSON) |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_receipt_id | KEY | item_receipt_id |
item_receipt_no | KEY | item_receipt_no |
sales_order_id | KEY | purchase_order_id |
sales_order_no | KEY | purchase_order_no |
submit_time | KEY | submit_time |
user_id | KEY | user_id |
username | KEY | username |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
2.11 商品发货日志表 (item_fulfillment_log)
表说明:记录销售订单转出库单的操作日志。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
item_fulfillment_id | varchar(32) | NULL | NULL | 出库单ID |
item_fulfillment_no | varchar(32) | NULL | NULL | 出库单编号 |
sales_order_id | varchar(32) | NULL | NULL | 销售订单ID |
sales_order_no | varchar(32) | NULL | NULL | 销售订单编号 |
fulfillment_quantity | int | NOT NULL | - | 发货数量 |
submit_time | datetime | NOT NULL | - | 提交时间 |
submit_result | varchar(16) | NOT NULL | - | 提交结果 |
fail_reason | varchar(1024) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(64) | NULL | NULL | 链路追踪ID |
request_body | json | NULL | NULL | 请求参数(JSON) |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_fulfillment_id | KEY | item_fulfillment_id |
item_fulfillment_no | KEY | item_fulfillment_no |
sales_order_id | KEY | sales_order_id |
sales_order_no | KEY | sales_order_no |
submit_time | KEY | submit_time |
user_id | KEY | user_id |
username | KEY | username |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
2.12 商品SN更新日志表 (item_sn_upsert_log)
表说明:记录序列号新增和更新操作的完整历史。
字段列表:
| 字段名 | 类型 | 约束 | 默认值 | 说明 |
|---|---|---|---|---|
id | bigint unsigned | PRIMARY KEY, AUTO_INCREMENT | - | 日志ID |
item_sn | varchar(32) | NOT NULL | - | 商品序列号 |
item_id | varchar(32) | NULL | NULL | 商品ID |
item_status | varchar(16) | NOT NULL | inactive | 商品状态 |
item_name | varchar(64) | NULL | NULL | 商品名称 |
warehouse_location_id | varchar(32) | NULL | NULL | 仓库位置ID |
warehouse_location_name | varchar(32) | NULL | NULL | 仓库位置名称 |
purchase_order_id | varchar(32) | NULL | NULL | 采购订单ID |
purchase_order_no | varchar(32) | NULL | NULL | 采购订单编号 |
item_receipt_id | varchar(32) | NULL | NULL | 入库单ID |
item_receipt_no | varchar(32) | NULL | NULL | 入库单编号 |
sales_order_id | varchar(32) | NULL | NULL | 销售订单ID |
sales_order_no | varchar(32) | NULL | NULL | 销售订单编号 |
item_fulfillment_id | varchar(32) | NULL | NULL | 出库单ID |
item_fulfillment_no | varchar(32) | NULL | NULL | 出库单编号 |
data_file_id | varchar(32) | NULL | NULL | 数据文件ID |
container_no | varchar(32) | NULL | NULL | 货柜编号 |
pallet_sn | varchar(32) | NULL | NULL | 托盘编号 |
upsert_time | datetime | NOT NULL | - | 操作时间 |
upsert_result | varchar(16) | NOT NULL | - | 操作结果 |
fail_reason | varchar(255) | NULL | NULL | 失败原因 |
user_id | bigint unsigned | NOT NULL | - | 操作用户ID |
username | varchar(64) | NOT NULL | - | 操作用户名 |
trace_id | varchar(64) | NULL | NULL | 链路追踪ID |
request_body | json | NULL | NULL | 请求参数(JSON) |
create_time | datetime | NOT NULL | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | NOT NULL | CURRENT_TIMESTAMP ON UPDATE | 更新时间 |
valid | tinyint(1) | NOT NULL | 1 | 是否有效 |
version | bigint unsigned | NOT NULL | 0 | 版本号 |
索引列表:
| 索引名 | 类型 | 字段 |
|---|---|---|
PRIMARY | PRIMARY KEY | id |
item_sn | KEY | item_sn |
purchase_order_id | KEY | purchase_order_id |
warehouse_location_id | KEY | warehouse_location_id |
data_file_id | KEY | data_file_id |
container_no | KEY | container_no |
pallet_sn | KEY | pallet_sn |
purchase_order_no | KEY | purchase_order_no |
item_id | KEY | item_id |
item_fulfillment_id | KEY | item_fulfillment_id |
item_fulfillment_no | KEY | item_fulfillment_no |
item_receipt_id | KEY | item_receipt_id |
item_receipt_no | KEY | item_receipt_no |
sales_order_id | KEY | sales_order_id |
sales_order_no | KEY | sales_order_no |
upsert_time | KEY | upsert_time |
user_id | KEY | user_id |
username | KEY | username |
trace_id | KEY | trace_id |
create_time | KEY | create_time |
3. 数据库设计规范
3.1 命名规范
| 类型 | 规范 | 示例 |
|---|---|---|
| 数据库名 | 小写英文,下划线分隔 | wm |
| 表名 | 小写英文,下划线分隔,复数形式 | item_sn, login_log |
| 字段名 | 小写英文,下划线分隔 | item_sn, create_time |
| 索引名 | 小写英文,下划线分隔 | idx_item_sn, uk_username |
3.2 数据类型规范
| 数据类型 | 使用场景 | 说明 |
|---|---|---|
bigint unsigned | 主键ID、计数字段 | 范围:0 ~ 18446744073709551615 |
int | 数量、状态码 | 范围:-2147483648 ~ 2147483647 |
tinyint(1) | 布尔值 | 0/1,用于表示真假 |
varchar(n) | 字符串 | n根据实际业务定义,最大1024 |
datetime | 时间字段 | 格式:YYYY-MM-DD HH:MM:SS |
json | JSON数据 | 存储结构化配置数据 |
3.3 字段设计规范
| 字段名 | 类型 | 说明 |
|---|---|---|
id | bigint unsigned | 主键,自增 |
create_time | datetime | 创建时间,默认CURRENT_TIMESTAMP |
update_time | datetime | 更新时间,自动更新 |
valid | tinyint(1) | 是否有效,默认1 |
version | bigint unsigned | 乐观锁版本号,默认0 |
3.4 索引设计规范
- 主键索引:每个表必须有主键,使用
id字段 - 唯一索引:唯一标识字段必须加唯一索引(如
username,item_sn) - 普通索引:查询频繁的字段需要加索引
- 联合索引:多条件查询时使用联合索引
- 索引命名:
idx_字段名或uk_字段名(唯一索引)
4. 数据库关系总结
4.1 实体关系
| 关系类型 | 实体1 | 实体2 | 说明 |
|---|---|---|---|
| 一对多 | user | login_log | 用户产生多条登录日志 |
| 一对多 | user | item_sn_import_log | 用户执行多次导入操作 |
| 一对多 | user | item_sn_scan_log | 用户执行多次扫描操作 |
| 一对多 | user | item_receipt_log | 用户执行多次入库操作 |
| 一对多 | user | item_fulfillment_log | 用户执行多次出库操作 |
| 一对多 | user | item_sn_upsert_log | 用户执行多次SN更新操作 |
| 一对多 | user | user_warehouse_location | 用户可关联多个仓库 |
| 一对多 | file_info | item_sn | 文件可包含多个SN |
| 一对多 | item_sn | item_sn_scan_log | SN可被多次扫描 |
| 一对多 | item_sn | item_sn_upsert_log | SN可被多次更新 |
4.2 核心业务流程数据流向
文档版本: v1.0
创建日期: 2026-06-04
适用项目: BSG-WM 仓库管理系统