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>
This commit is contained in:
1 parent
8da59453b6
commit
5357df1cc2
3 files changed
+37
No files matched your search
@@ -0,0 +1,34 @@
|
||||
-- 运输计划复制发群固定序号(租户内流水)
|
||||
-- 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;
|
||||
Reference in new issue
Block a user