21 lines
1.4 KiB
SQL
21 lines
1.4 KiB
SQL
-- 库位归属转移的持久化幂等契约;可在二期托盘库位表建表后重复执行。
|
|
SET NAMES utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS wh_pallet_location_transfer_operation (
|
|
id BIGINT UNSIGNED NOT NULL COMMENT '调拨幂等操作ID',
|
|
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '仓储公共资源域,固定为0',
|
|
source_service VARCHAR(40) NOT NULL COMMENT '来源服务',
|
|
source_business_id BIGINT UNSIGNED NOT NULL COMMENT '来源入仓单ID',
|
|
target_business_id BIGINT UNSIGNED NOT NULL COMMENT '目标子入仓单ID',
|
|
idempotency_key VARCHAR(128) NOT NULL COMMENT '调用方幂等键',
|
|
request_hash CHAR(64) NOT NULL COMMENT '规范化请求SHA-256摘要',
|
|
operation_status VARCHAR(20) NOT NULL DEFAULT 'PROCESSING' COMMENT 'PROCESSING处理中、COMPLETED已完成',
|
|
response_snapshot JSON NULL COMMENT '完成后的调拨结果快照,用于重复请求重放',
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
|
|
completed_at DATETIME(3) NULL COMMENT '完成时间',
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_pallet_location_transfer_idempotency
|
|
(tenant_id, source_service, source_business_id, target_business_id, idempotency_key),
|
|
KEY idx_pallet_location_transfer_source (tenant_id, source_service, source_business_id, operation_status)
|
|
) ENGINE=InnoDB COMMENT='库位归属转移的持久化幂等操作记录';
|