-- 表:wms_waybill -- 用途:面单。发货单对应的面单文件,允许作废后重开。 -- 约定:InnoDB / utf8mb4 / 无外键,表间按业务编码关联。详见 docs/database/00-conventions.md -- 说明:同一发货单同时只能有一张 active 面单,由应用层保证。文件上传遵守安全规范,路径不暴露公网目录。 CREATE TABLE `wms_waybill` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '内部主键', `tenant_code` VARCHAR(32) NOT NULL COMMENT '租户编码', `waybill_no` VARCHAR(64) NOT NULL COMMENT '面单号,租户内唯一', `shipment_no` VARCHAR(64) NOT NULL COMMENT '发货单号', `label_format` VARCHAR(16) NOT NULL COMMENT 'pdf、zpl 或 png', `label_path` VARCHAR(255) NOT NULL COMMENT '面单文件存储路径,不存二进制', `status` VARCHAR(32) NOT NULL DEFAULT 'active' COMMENT 'active 当前有效,voided 已作废', `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间', `updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_waybill_no` (`tenant_code`, `waybill_no`), KEY `idx_tenant_shipment` (`tenant_code`, `shipment_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='面单';