diff --git a/deploy/migrations/m0023_pipeline_user_memory_multitenant.json b/deploy/migrations/m0023_pipeline_user_memory_multitenant.json new file mode 100644 index 0000000..d1c461b --- /dev/null +++ b/deploy/migrations/m0023_pipeline_user_memory_multitenant.json @@ -0,0 +1,16 @@ +{ + "id": "m0023", + "title": "pipeline_user_memory 多租户隔离:加 org_id/user_id 归属列 + 存量 memory_key 重算(新 key 掺租户/作用域维度,防跨租户唯一键碰撞)+ 归属查询索引", + "backup_tables": ["pipeline_user_memory"], + "up": [ + {"op": "sql", "sql": "ALTER TABLE pipeline_user_memory ADD COLUMN org_id varchar(32) NOT NULL DEFAULT '' AFTER scope_id"}, + {"op": "sql", "sql": "ALTER TABLE pipeline_user_memory ADD COLUMN user_id varchar(32) NOT NULL DEFAULT '' AFTER org_id"}, + {"op": "sql", "sql": "UPDATE pipeline_user_memory SET memory_key = LEFT(MD5(CONCAT(content, '|org=', org_id, '|user=', user_id, '|scope=', scope, '|sid=', scope_id)), 16)"}, + {"op": "sql", "sql": "CREATE INDEX idx_memory_org_user ON pipeline_user_memory (org_id, user_id)"} + ], + "down": [ + {"op": "sql", "sql": "UPDATE pipeline_user_memory SET memory_key = LEFT(MD5(content), 16)"}, + {"op": "sql", "sql": "ALTER TABLE pipeline_user_memory DROP COLUMN user_id"}, + {"op": "sql", "sql": "ALTER TABLE pipeline_user_memory DROP COLUMN org_id"} + ] +}