新增地址簿 CRUD、pickup/create、订单 orderSource 筛选;附带包裹商品图片上传接口。 Co-authored-by: Cursor <cursoragent@cursor.com>
76 lines
2.1 KiB
SQL
76 lines
2.1 KiB
SQL
-- 已有库增量:t_order 揽收订单字段 OrderSource / PickupTime / CustomerSenderAddressId
|
||
-- 对应功能:订单 → 揽收订单;见 oms系统设计-050801.md §4.2.1 / §4.4.4
|
||
-- 可重复执行
|
||
|
||
SET @col_exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE()
|
||
AND TABLE_NAME = 't_order'
|
||
AND COLUMN_NAME = 'OrderSource'
|
||
);
|
||
|
||
SET @sql := IF(
|
||
@col_exists = 0,
|
||
'ALTER TABLE `t_order` ADD COLUMN `OrderSource` VARCHAR(32) NULL COMMENT ''订单来源:manual/pickup/upload/batch/platform'' AFTER `CustomerId`',
|
||
'SELECT ''t_order.OrderSource already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
SET @col_exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE()
|
||
AND TABLE_NAME = 't_order'
|
||
AND COLUMN_NAME = 'PickupTime'
|
||
);
|
||
|
||
SET @sql := IF(
|
||
@col_exists = 0,
|
||
'ALTER TABLE `t_order` ADD COLUMN `PickupTime` DATETIME NULL COMMENT ''预约揽收时间'' AFTER `OrderSource`',
|
||
'SELECT ''t_order.PickupTime already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
SET @col_exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE()
|
||
AND TABLE_NAME = 't_order'
|
||
AND COLUMN_NAME = 'CustomerSenderAddressId'
|
||
);
|
||
|
||
SET @sql := IF(
|
||
@col_exists = 0,
|
||
'ALTER TABLE `t_order` ADD COLUMN `CustomerSenderAddressId` INT NULL COMMENT ''发件地址簿 Id'' AFTER `PickupTime`',
|
||
'SELECT ''t_order.CustomerSenderAddressId already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|
||
|
||
UPDATE `t_order`
|
||
SET `OrderSource` = 'manual'
|
||
WHERE `OrderSource` IS NULL OR `OrderSource` = '';
|
||
|
||
SET @idx_exists := (
|
||
SELECT COUNT(1)
|
||
FROM information_schema.STATISTICS
|
||
WHERE TABLE_SCHEMA = DATABASE()
|
||
AND TABLE_NAME = 't_order'
|
||
AND INDEX_NAME = 'idx_ord_source_ctime'
|
||
);
|
||
|
||
SET @sql := IF(
|
||
@idx_exists = 0,
|
||
'ALTER TABLE `t_order` ADD KEY `idx_ord_source_ctime` (`OrderSource`, `CreateTime`)',
|
||
'SELECT ''idx_ord_source_ctime already exists'' AS info'
|
||
);
|
||
PREPARE stmt FROM @sql;
|
||
EXECUTE stmt;
|
||
DEALLOCATE PREPARE stmt;
|