fix: 群写操作在事务内复核并去重建群成员
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
-- U-02: group_members 增加指向 groups 的外键,避免解散后残留孤儿行。
|
||||
-- 本分支基于 C-04 时最大迁移号为 0002,按 TASKS 4.2 取 0003。
|
||||
DELETE FROM group_members WHERE group_id NOT IN (SELECT id FROM groups);
|
||||
|
||||
CREATE TABLE group_members_new (
|
||||
group_id TEXT NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
|
||||
endpoint_id TEXT NOT NULL,
|
||||
joined_at INTEGER NOT NULL,
|
||||
PRIMARY KEY (group_id, endpoint_id)
|
||||
);
|
||||
|
||||
INSERT INTO group_members_new (group_id, endpoint_id, joined_at)
|
||||
SELECT group_id, endpoint_id, joined_at FROM group_members;
|
||||
|
||||
DROP TABLE group_members;
|
||||
|
||||
ALTER TABLE group_members_new RENAME TO group_members;
|
||||
|
||||
CREATE INDEX idx_group_members_endpoint ON group_members(endpoint_id);
|
||||
Reference in New Issue
Block a user