Files
shanxia2.0/docs/sql/migrate_pl_plan_copy_seq_no_20261009.sql
T
wuzilongandCursor 5357df1cc2 feat(pl): add pl_plan.copy_seq_no for copy-to-group sequence
Persist a tenant-scoped fixed serial for driver-plan clipboard text;
include migration backfill by create_time.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:33:00 +08:00

35 lines
1.0 KiB
SQL

-- 运输计划复制发群固定序号(租户内流水)
-- MySQL 5.7
-- 2026-10-09
-- 若列已存在,跳过 ALTER(重复执行会报 Duplicate column)。
ALTER TABLE `pl_plan`
ADD COLUMN `copy_seq_no` int(11) DEFAULT NULL COMMENT '复制发群序号(租户内固定流水,首次复制时分配)' AFTER `plan_no`,
ADD KEY `idx_pl_plan_tenant_copy_seq` (`tenant_no`, `copy_seq_no`);
-- 历史回填:按租户 create_time ASC, id ASC,含软删;已有值不覆盖
-- MySQL 5.7 用户变量按租户编号(会话内执行)
SET @prev_tenant := NULL;
SET @rn := 0;
UPDATE `pl_plan` p
INNER JOIN (
SELECT
t.id,
t.seq_no
FROM (
SELECT
id,
tenant_no,
@rn := IF(@prev_tenant = tenant_no, @rn + 1, 1) AS seq_no,
@prev_tenant := tenant_no AS _tenant
FROM (
SELECT id, tenant_no, create_time
FROM `pl_plan`
ORDER BY tenant_no ASC, create_time ASC, id ASC
) ordered
) t
) ranked ON ranked.id = p.id
SET p.`copy_seq_no` = ranked.seq_no
WHERE p.`copy_seq_no` IS NULL;