All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
Co-authored-by: Cursor <cursoragent@cursor.com>
106 lines
4.1 KiB
SQL
106 lines
4.1 KiB
SQL
-- =============================================================================
|
||
-- migrate_20261009_order_warehouse.sql
|
||
-- 汇总:
|
||
-- 1) t_order.DownstreamSupplierName(下游服务商名称)
|
||
-- 2) t_order_operation_log(运单操作日志)
|
||
-- 3) t_warehouse_address.Sort / Remark(仓库地址排序与备注)
|
||
-- 可重复执行。
|
||
-- =============================================================================
|
||
|
||
SET @db := DATABASE();
|
||
|
||
-- -----------------------------------------------------------------------------
|
||
-- 1) 订单:下游服务商名称
|
||
-- -----------------------------------------------------------------------------
|
||
SET @exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db
|
||
AND TABLE_NAME = 't_order'
|
||
AND COLUMN_NAME = 'DownstreamSupplierName'
|
||
);
|
||
SET @sql := IF(
|
||
@exists = 0,
|
||
'ALTER TABLE `t_order` ADD COLUMN `DownstreamSupplierName` VARCHAR(128) NULL COMMENT ''下游 API 服务商名称'' AFTER `DownstreamSupplierCode`',
|
||
'SELECT ''t_order.DownstreamSupplierName already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
-- -----------------------------------------------------------------------------
|
||
-- 2) 运单操作日志表
|
||
-- -----------------------------------------------------------------------------
|
||
SET @tbl := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.TABLES
|
||
WHERE TABLE_SCHEMA = @db
|
||
AND TABLE_NAME = 't_order_operation_log'
|
||
);
|
||
SET @sql := IF(
|
||
@tbl = 0,
|
||
'CREATE TABLE `t_order_operation_log` (
|
||
`Id` INT NOT NULL AUTO_INCREMENT COMMENT ''主键'',
|
||
`OrderId` INT NOT NULL COMMENT ''运单Id'',
|
||
`ServiceNo` VARCHAR(64) NULL COMMENT ''运单号冗余'',
|
||
`Action` VARCHAR(32) NOT NULL COMMENT ''动作码 editBasic/editWeight/recalcReceivable/recalcPayable/reallocate'',
|
||
`ActionName` VARCHAR(64) NOT NULL COMMENT ''动作中文名'',
|
||
`OperatorId` INT NOT NULL DEFAULT 0 COMMENT ''操作人用户Id'',
|
||
`OperatorName` VARCHAR(64) NULL COMMENT ''操作人展示名'',
|
||
`OperatorType` VARCHAR(16) NOT NULL DEFAULT ''staff'' COMMENT ''staff/customer/system/openapi'',
|
||
`Source` VARCHAR(16) NOT NULL DEFAULT ''pc'' COMMENT ''pc/h5/openapi/job'',
|
||
`ChangesJson` JSON NULL COMMENT ''字段 diff 数组 [{path,label,before,after}]'',
|
||
`Remark` VARCHAR(512) NULL COMMENT ''补充说明'',
|
||
`IsDeleted` TINYINT NOT NULL DEFAULT 0 COMMENT ''软删除:0-否,1-是'',
|
||
`ConcurrencyStamp` CHAR(36) NOT NULL DEFAULT (UUID()) COMMENT ''并发戳'',
|
||
`CreateUserId` INT NOT NULL DEFAULT 0 COMMENT ''创建人'',
|
||
`CreateTime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'',
|
||
`UpdateUserId` INT NULL COMMENT ''更新人'',
|
||
`UpdateTime` DATETIME NULL COMMENT ''更新时间'',
|
||
PRIMARY KEY (`Id`),
|
||
KEY `idx_ool_order_time` (`OrderId`, `CreateTime`),
|
||
KEY `idx_ool_service_no` (`ServiceNo`)
|
||
) COMMENT=''运单操作日志''',
|
||
'SELECT ''t_order_operation_log already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
-- -----------------------------------------------------------------------------
|
||
-- 3) 仓库地址:展示排序 + 备注
|
||
-- -----------------------------------------------------------------------------
|
||
SET @col := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db
|
||
AND TABLE_NAME = 't_warehouse_address'
|
||
AND COLUMN_NAME = 'Sort'
|
||
);
|
||
SET @sql := IF(
|
||
@col = 0,
|
||
'ALTER TABLE `t_warehouse_address`
|
||
ADD COLUMN `Sort` INT NULL DEFAULT NULL COMMENT ''展示排序,越小越靠前'' AFTER `ShippingAddress`',
|
||
'SELECT ''t_warehouse_address.Sort already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
SET @col := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = @db
|
||
AND TABLE_NAME = 't_warehouse_address'
|
||
AND COLUMN_NAME = 'Remark'
|
||
);
|
||
SET @sql := IF(
|
||
@col = 0,
|
||
'ALTER TABLE `t_warehouse_address`
|
||
ADD COLUMN `Remark` VARCHAR(512) NULL DEFAULT NULL COMMENT ''备注'' AFTER `Sort`',
|
||
'SELECT ''t_warehouse_address.Remark already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|