admin/sql/20260803_pickup_order_concurrency_stamp.sql
zzh b2355104cf feat: 完善揽收单与问题件处理能力
补齐揽收单字段/并发戳与问题件处理人配置,扩展异常工作流与下单同步揽收出参;移除已收货状态并补充相关 SQL 脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 11:49:23 +08:00

54 lines
1.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 幂等补 ConcurrencyStamp:已存在则跳过 ADD,只做回填/NOT NULL。
-- 执行前请备份。
-- 先看现状(可选)
SELECT TABLE_NAME, COLUMN_NAME, IS_NULLABLE, COLUMN_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME IN ('t_pickup_order', 't_pickup_order_line')
AND COLUMN_NAME = 'ConcurrencyStamp';
-- ===== t_pickup_order =====
SET @sql := (
SELECT IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 't_pickup_order'
AND COLUMN_NAME = 'ConcurrencyStamp'
),
'SELECT ''t_pickup_order.ConcurrencyStamp already exists'' AS info',
'ALTER TABLE `t_pickup_order` ADD COLUMN `ConcurrencyStamp` CHAR(36) NULL COMMENT ''并发戳'' AFTER `IsDeleted`'
)
);
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
UPDATE `t_pickup_order`
SET `ConcurrencyStamp` = UUID()
WHERE `ConcurrencyStamp` IS NULL OR `ConcurrencyStamp` = '';
ALTER TABLE `t_pickup_order`
MODIFY COLUMN `ConcurrencyStamp` CHAR(36) NOT NULL COMMENT '并发戳';
-- ===== t_pickup_order_line =====
SET @sql := (
SELECT IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 't_pickup_order_line'
AND COLUMN_NAME = 'ConcurrencyStamp'
),
'SELECT ''t_pickup_order_line.ConcurrencyStamp already exists'' AS info',
'ALTER TABLE `t_pickup_order_line` ADD COLUMN `ConcurrencyStamp` CHAR(36) NULL COMMENT ''并发戳'' AFTER `IsDeleted`'
)
);
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
UPDATE `t_pickup_order_line`
SET `ConcurrencyStamp` = UUID()
WHERE `ConcurrencyStamp` IS NULL OR `ConcurrencyStamp` = '';
ALTER TABLE `t_pickup_order_line`
MODIFY COLUMN `ConcurrencyStamp` CHAR(36) NOT NULL COMMENT '并发戳';