admin/db.sync.sql
2026-04-15 15:25:38 +08:00

42 lines
2.0 KiB
SQL

-- OMS 增量数据库同步脚本
-- 适用场景:
-- 1. 已经按旧版 db.sql 建库
-- 2. 需要把本轮实体新增字段和任务失败表补齐到当前代码
-- 3. 建议在执行前先备份数据库
-- 订单主表:补充幂等字段与申报汇总字段
ALTER TABLE `t_order`
ADD COLUMN `RequestId` VARCHAR(64) NULL COMMENT '请求幂等ID' AFTER `Id`,
ADD COLUMN `DeclaredCurrency` VARCHAR(16) NULL COMMENT '申报币种' AFTER `CodSum`,
ADD COLUMN `DeclaredSum` DECIMAL(18,4) NULL COMMENT '申报金额' AFTER `DeclaredCurrency`,
ADD COLUMN `Quantity` INT NULL COMMENT '包裹数量' AFTER `DeclaredSum`;
ALTER TABLE `t_order`
ADD UNIQUE KEY `uk_ord_request_id` (`RequestId`);
-- 订单申报表:补充进口/出口 HsCode
ALTER TABLE `t_order_declaration`
ADD COLUMN `ImHsCode` VARCHAR(50) NULL COMMENT '进口HsCode' AFTER `HsCode`,
ADD COLUMN `ExHsCode` VARCHAR(50) NULL COMMENT '出口HsCode' AFTER `ImHsCode`;
-- 导入任务表:补充成功数与失败数
ALTER TABLE `t_order_task`
ADD COLUMN `SuccessCount` INT NULL COMMENT '成功数' AFTER `Quantity`,
ADD COLUMN `FailCount` INT NULL COMMENT '失败数' AFTER `SuccessCount`;
-- 导入任务失败明细表:用于 /order/task/detail.failList
CREATE TABLE `t_order_task_fail` (
`Id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`TaskId` BIGINT NOT NULL COMMENT '任务ID',
`RowNumber` INT NOT NULL COMMENT '失败行号',
`Reason` VARCHAR(500) NOT NULL COMMENT '失败原因',
`RawDataJson` JSON NULL COMMENT '原始行数据',
`IsDeleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '软删除',
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT '创建人',
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`UpdateUserId` INT NULL DEFAULT NULL COMMENT '修改人',
`UpdateTime` DATETIME NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`Id`),
KEY `idx_otf_task` (`TaskId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单导入任务失败明细表';