From 762218cd3201e6df7c0538f989163c71f0e9668f Mon Sep 17 00:00:00 2001 From: matevip Date: Sat, 18 Apr 2026 23:31:48 +0800 Subject: [PATCH] refactor(db): drop @TableLogic on all entities, purge soft-deleted rows --- .../vip/mate/agent/model/AgentEntity.java | 1 - .../approval/model/ToolApprovalEntity.java | 1 - .../java/vip/mate/auth/model/UserEntity.java | 1 - .../vip/mate/channel/model/ChannelEntity.java | 1 - .../channel/model/ChannelSessionEntity.java | 1 - .../vip/mate/cron/model/CronJobEntity.java | 1 - .../datasource/model/DatasourceEntity.java | 1 - .../vip/mate/llm/model/ModelConfigEntity.java | 1 - .../mate/memory/model/MemoryRecallEntity.java | 1 - .../vip/mate/planning/model/PlanEntity.java | 1 - .../mate/planning/model/SubPlanEntity.java | 1 - .../vip/mate/plugin/model/PluginEntity.java | 1 - .../vip/mate/skill/model/SkillEntity.java | 1 - .../guard/model/ToolGuardAuditLogEntity.java | 1 - .../tool/guard/model/ToolGuardRuleEntity.java | 1 - .../mate/tool/mcp/model/McpServerEntity.java | 1 - .../java/vip/mate/tool/model/ToolEntity.java | 1 - .../vip/mate/wiki/model/WikiChunkEntity.java | 1 - .../wiki/model/WikiKnowledgeBaseEntity.java | 1 - .../vip/mate/wiki/model/WikiPageEntity.java | 1 - .../wiki/model/WikiRawMaterialEntity.java | 1 - .../model/ConversationEntity.java | 1 - .../conversation/model/MessageEntity.java | 1 - .../workspace/core/model/WorkspaceEntity.java | 1 - .../core/model/WorkspaceMemberEntity.java | 1 - .../document/model/WorkspaceFileEntity.java | 1 - .../V17__purge_binding_soft_deleted_rows.sql | 10 ------ .../h2/V20__purge_soft_deleted_rows.sql | 34 +++++++++++++++++++ .../V17__purge_binding_soft_deleted_rows.sql | 10 ------ .../mysql/V20__purge_soft_deleted_rows.sql | 34 +++++++++++++++++++ 30 files changed, 68 insertions(+), 46 deletions(-) delete mode 100644 mateclaw-server/src/main/resources/db/migration/h2/V17__purge_binding_soft_deleted_rows.sql create mode 100644 mateclaw-server/src/main/resources/db/migration/h2/V20__purge_soft_deleted_rows.sql delete mode 100644 mateclaw-server/src/main/resources/db/migration/mysql/V17__purge_binding_soft_deleted_rows.sql create mode 100644 mateclaw-server/src/main/resources/db/migration/mysql/V20__purge_soft_deleted_rows.sql diff --git a/mateclaw-server/src/main/java/vip/mate/agent/model/AgentEntity.java b/mateclaw-server/src/main/java/vip/mate/agent/model/AgentEntity.java index bdc0ed4e..664d2d13 100644 --- a/mateclaw-server/src/main/java/vip/mate/agent/model/AgentEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/agent/model/AgentEntity.java @@ -61,6 +61,5 @@ public class AgentEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/approval/model/ToolApprovalEntity.java b/mateclaw-server/src/main/java/vip/mate/approval/model/ToolApprovalEntity.java index c75540aa..90f96ac2 100644 --- a/mateclaw-server/src/main/java/vip/mate/approval/model/ToolApprovalEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/approval/model/ToolApprovalEntity.java @@ -42,6 +42,5 @@ public class ToolApprovalEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/auth/model/UserEntity.java b/mateclaw-server/src/main/java/vip/mate/auth/model/UserEntity.java index 742e0db9..f9401b2f 100644 --- a/mateclaw-server/src/main/java/vip/mate/auth/model/UserEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/auth/model/UserEntity.java @@ -44,6 +44,5 @@ public class UserEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelEntity.java b/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelEntity.java index 404a3661..57630a0f 100644 --- a/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelEntity.java @@ -49,6 +49,5 @@ public class ChannelEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelSessionEntity.java b/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelSessionEntity.java index aa986b90..15742374 100644 --- a/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelSessionEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/channel/model/ChannelSessionEntity.java @@ -57,6 +57,5 @@ public class ChannelSessionEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/cron/model/CronJobEntity.java b/mateclaw-server/src/main/java/vip/mate/cron/model/CronJobEntity.java index b85c44ec..8b7398a0 100644 --- a/mateclaw-server/src/main/java/vip/mate/cron/model/CronJobEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/cron/model/CronJobEntity.java @@ -55,6 +55,5 @@ public class CronJobEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/datasource/model/DatasourceEntity.java b/mateclaw-server/src/main/java/vip/mate/datasource/model/DatasourceEntity.java index 1b11a92c..f8ec6338 100644 --- a/mateclaw-server/src/main/java/vip/mate/datasource/model/DatasourceEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/datasource/model/DatasourceEntity.java @@ -62,6 +62,5 @@ public class DatasourceEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/llm/model/ModelConfigEntity.java b/mateclaw-server/src/main/java/vip/mate/llm/model/ModelConfigEntity.java index 34aa6ca5..139fe2c2 100644 --- a/mateclaw-server/src/main/java/vip/mate/llm/model/ModelConfigEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/llm/model/ModelConfigEntity.java @@ -61,6 +61,5 @@ public class ModelConfigEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/memory/model/MemoryRecallEntity.java b/mateclaw-server/src/main/java/vip/mate/memory/model/MemoryRecallEntity.java index c5bf87b7..97f335f7 100644 --- a/mateclaw-server/src/main/java/vip/mate/memory/model/MemoryRecallEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/memory/model/MemoryRecallEntity.java @@ -56,6 +56,5 @@ public class MemoryRecallEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/planning/model/PlanEntity.java b/mateclaw-server/src/main/java/vip/mate/planning/model/PlanEntity.java index e3398632..f9f56ef0 100644 --- a/mateclaw-server/src/main/java/vip/mate/planning/model/PlanEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/planning/model/PlanEntity.java @@ -49,7 +49,6 @@ public class PlanEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; /** 子计划列表(非数据库字段,查询时填充) */ diff --git a/mateclaw-server/src/main/java/vip/mate/planning/model/SubPlanEntity.java b/mateclaw-server/src/main/java/vip/mate/planning/model/SubPlanEntity.java index 63513500..3b0ab79c 100644 --- a/mateclaw-server/src/main/java/vip/mate/planning/model/SubPlanEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/planning/model/SubPlanEntity.java @@ -45,6 +45,5 @@ public class SubPlanEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/plugin/model/PluginEntity.java b/mateclaw-server/src/main/java/vip/mate/plugin/model/PluginEntity.java index cf2c77fd..11e443af 100644 --- a/mateclaw-server/src/main/java/vip/mate/plugin/model/PluginEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/plugin/model/PluginEntity.java @@ -61,6 +61,5 @@ public class PluginEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/skill/model/SkillEntity.java b/mateclaw-server/src/main/java/vip/mate/skill/model/SkillEntity.java index 0528cb4a..90fda726 100644 --- a/mateclaw-server/src/main/java/vip/mate/skill/model/SkillEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/skill/model/SkillEntity.java @@ -90,6 +90,5 @@ public class SkillEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardAuditLogEntity.java b/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardAuditLogEntity.java index 972fa661..debb6bf0 100644 --- a/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardAuditLogEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardAuditLogEntity.java @@ -33,6 +33,5 @@ public class ToolGuardAuditLogEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardRuleEntity.java b/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardRuleEntity.java index 7dd2cefb..7678bbe2 100644 --- a/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardRuleEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/tool/guard/model/ToolGuardRuleEntity.java @@ -36,6 +36,5 @@ public class ToolGuardRuleEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/tool/mcp/model/McpServerEntity.java b/mateclaw-server/src/main/java/vip/mate/tool/mcp/model/McpServerEntity.java index 9edce83d..1e0bd228 100644 --- a/mateclaw-server/src/main/java/vip/mate/tool/mcp/model/McpServerEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/tool/mcp/model/McpServerEntity.java @@ -77,6 +77,5 @@ public class McpServerEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/tool/model/ToolEntity.java b/mateclaw-server/src/main/java/vip/mate/tool/model/ToolEntity.java index f2705723..27f08e5c 100644 --- a/mateclaw-server/src/main/java/vip/mate/tool/model/ToolEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/tool/model/ToolEntity.java @@ -55,6 +55,5 @@ public class ToolEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiChunkEntity.java b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiChunkEntity.java index 1c0f28c2..88404096 100644 --- a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiChunkEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiChunkEntity.java @@ -57,6 +57,5 @@ public class WikiChunkEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiKnowledgeBaseEntity.java b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiKnowledgeBaseEntity.java index 737d1475..b87846b3 100644 --- a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiKnowledgeBaseEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiKnowledgeBaseEntity.java @@ -59,6 +59,5 @@ public class WikiKnowledgeBaseEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiPageEntity.java b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiPageEntity.java index 4ea02c42..ec9c34e3 100644 --- a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiPageEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiPageEntity.java @@ -54,6 +54,5 @@ public class WikiPageEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiRawMaterialEntity.java b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiRawMaterialEntity.java index 351d8c14..c875524c 100644 --- a/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiRawMaterialEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/wiki/model/WikiRawMaterialEntity.java @@ -73,6 +73,5 @@ public class WikiRawMaterialEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/ConversationEntity.java b/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/ConversationEntity.java index e002927e..5b6fa1bd 100644 --- a/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/ConversationEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/ConversationEntity.java @@ -54,6 +54,5 @@ public class ConversationEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/MessageEntity.java b/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/MessageEntity.java index 46a49eff..8de74692 100644 --- a/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/MessageEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/workspace/conversation/model/MessageEntity.java @@ -62,6 +62,5 @@ public class MessageEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceEntity.java b/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceEntity.java index 263443e2..20989b84 100644 --- a/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceEntity.java @@ -45,6 +45,5 @@ public class WorkspaceEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceMemberEntity.java b/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceMemberEntity.java index 27f5c70c..fc584fcf 100644 --- a/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceMemberEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/workspace/core/model/WorkspaceMemberEntity.java @@ -43,6 +43,5 @@ public class WorkspaceMemberEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/java/vip/mate/workspace/document/model/WorkspaceFileEntity.java b/mateclaw-server/src/main/java/vip/mate/workspace/document/model/WorkspaceFileEntity.java index e67f9dac..373dbc76 100644 --- a/mateclaw-server/src/main/java/vip/mate/workspace/document/model/WorkspaceFileEntity.java +++ b/mateclaw-server/src/main/java/vip/mate/workspace/document/model/WorkspaceFileEntity.java @@ -42,6 +42,5 @@ public class WorkspaceFileEntity { @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @TableLogic private Integer deleted; } diff --git a/mateclaw-server/src/main/resources/db/migration/h2/V17__purge_binding_soft_deleted_rows.sql b/mateclaw-server/src/main/resources/db/migration/h2/V17__purge_binding_soft_deleted_rows.sql deleted file mode 100644 index 0607dbc9..00000000 --- a/mateclaw-server/src/main/resources/db/migration/h2/V17__purge_binding_soft_deleted_rows.sql +++ /dev/null @@ -1,10 +0,0 @@ --- V17: Purge soft-deleted rows from binding tables. --- mate_agent_tool / mate_agent_skill previously had @TableLogic on their `deleted` --- column, but the unique indexes uk_agent_tool(agent_id, tool_name) / --- uk_agent_skill(agent_id, skill_id) did not include `deleted`. Any rebind after --- an unbind therefore hit a duplicate-key error because the soft-deleted row --- still occupied the unique slot. Soft-delete has been removed for these tables --- (see AgentToolBinding / AgentSkillBinding) — clear residual deleted=1 rows so --- pre-existing deployments can rebind the affected pairs. -DELETE FROM mate_agent_tool WHERE deleted = 1; -DELETE FROM mate_agent_skill WHERE deleted = 1; diff --git a/mateclaw-server/src/main/resources/db/migration/h2/V20__purge_soft_deleted_rows.sql b/mateclaw-server/src/main/resources/db/migration/h2/V20__purge_soft_deleted_rows.sql new file mode 100644 index 00000000..a177a81c --- /dev/null +++ b/mateclaw-server/src/main/resources/db/migration/h2/V20__purge_soft_deleted_rows.sql @@ -0,0 +1,34 @@ +-- V20: Purge soft-deleted rows from all tables and retire soft-delete semantics. +-- @TableLogic has been removed from all entities — the project no longer +-- supports soft-delete. Clear residual deleted=1 rows so queries that still +-- reference the `deleted` column (or raw SQL in service layer) continue to +-- behave consistently. The `deleted` column itself is retained with its +-- NOT NULL DEFAULT 0 constraint for schema compatibility. +DELETE FROM mate_agent WHERE deleted = 1; +DELETE FROM mate_agent_skill WHERE deleted = 1; +DELETE FROM mate_agent_tool WHERE deleted = 1; +DELETE FROM mate_channel WHERE deleted = 1; +DELETE FROM mate_channel_session WHERE deleted = 1; +DELETE FROM mate_conversation WHERE deleted = 1; +DELETE FROM mate_cron_job WHERE deleted = 1; +DELETE FROM mate_datasource WHERE deleted = 1; +DELETE FROM mate_mcp_server WHERE deleted = 1; +DELETE FROM mate_memory_recall WHERE deleted = 1; +DELETE FROM mate_message WHERE deleted = 1; +DELETE FROM mate_model_config WHERE deleted = 1; +DELETE FROM mate_plan WHERE deleted = 1; +DELETE FROM mate_plugin WHERE deleted = 1; +DELETE FROM mate_skill WHERE deleted = 1; +DELETE FROM mate_sub_plan WHERE deleted = 1; +DELETE FROM mate_tool WHERE deleted = 1; +DELETE FROM mate_tool_approval WHERE deleted = 1; +DELETE FROM mate_tool_guard_audit_log WHERE deleted = 1; +DELETE FROM mate_tool_guard_rule WHERE deleted = 1; +DELETE FROM mate_user WHERE deleted = 1; +DELETE FROM mate_wiki_chunk WHERE deleted = 1; +DELETE FROM mate_wiki_knowledge_base WHERE deleted = 1; +DELETE FROM mate_wiki_page WHERE deleted = 1; +DELETE FROM mate_wiki_raw_material WHERE deleted = 1; +DELETE FROM mate_workspace WHERE deleted = 1; +DELETE FROM mate_workspace_file WHERE deleted = 1; +DELETE FROM mate_workspace_member WHERE deleted = 1; diff --git a/mateclaw-server/src/main/resources/db/migration/mysql/V17__purge_binding_soft_deleted_rows.sql b/mateclaw-server/src/main/resources/db/migration/mysql/V17__purge_binding_soft_deleted_rows.sql deleted file mode 100644 index 0607dbc9..00000000 --- a/mateclaw-server/src/main/resources/db/migration/mysql/V17__purge_binding_soft_deleted_rows.sql +++ /dev/null @@ -1,10 +0,0 @@ --- V17: Purge soft-deleted rows from binding tables. --- mate_agent_tool / mate_agent_skill previously had @TableLogic on their `deleted` --- column, but the unique indexes uk_agent_tool(agent_id, tool_name) / --- uk_agent_skill(agent_id, skill_id) did not include `deleted`. Any rebind after --- an unbind therefore hit a duplicate-key error because the soft-deleted row --- still occupied the unique slot. Soft-delete has been removed for these tables --- (see AgentToolBinding / AgentSkillBinding) — clear residual deleted=1 rows so --- pre-existing deployments can rebind the affected pairs. -DELETE FROM mate_agent_tool WHERE deleted = 1; -DELETE FROM mate_agent_skill WHERE deleted = 1; diff --git a/mateclaw-server/src/main/resources/db/migration/mysql/V20__purge_soft_deleted_rows.sql b/mateclaw-server/src/main/resources/db/migration/mysql/V20__purge_soft_deleted_rows.sql new file mode 100644 index 00000000..a177a81c --- /dev/null +++ b/mateclaw-server/src/main/resources/db/migration/mysql/V20__purge_soft_deleted_rows.sql @@ -0,0 +1,34 @@ +-- V20: Purge soft-deleted rows from all tables and retire soft-delete semantics. +-- @TableLogic has been removed from all entities — the project no longer +-- supports soft-delete. Clear residual deleted=1 rows so queries that still +-- reference the `deleted` column (or raw SQL in service layer) continue to +-- behave consistently. The `deleted` column itself is retained with its +-- NOT NULL DEFAULT 0 constraint for schema compatibility. +DELETE FROM mate_agent WHERE deleted = 1; +DELETE FROM mate_agent_skill WHERE deleted = 1; +DELETE FROM mate_agent_tool WHERE deleted = 1; +DELETE FROM mate_channel WHERE deleted = 1; +DELETE FROM mate_channel_session WHERE deleted = 1; +DELETE FROM mate_conversation WHERE deleted = 1; +DELETE FROM mate_cron_job WHERE deleted = 1; +DELETE FROM mate_datasource WHERE deleted = 1; +DELETE FROM mate_mcp_server WHERE deleted = 1; +DELETE FROM mate_memory_recall WHERE deleted = 1; +DELETE FROM mate_message WHERE deleted = 1; +DELETE FROM mate_model_config WHERE deleted = 1; +DELETE FROM mate_plan WHERE deleted = 1; +DELETE FROM mate_plugin WHERE deleted = 1; +DELETE FROM mate_skill WHERE deleted = 1; +DELETE FROM mate_sub_plan WHERE deleted = 1; +DELETE FROM mate_tool WHERE deleted = 1; +DELETE FROM mate_tool_approval WHERE deleted = 1; +DELETE FROM mate_tool_guard_audit_log WHERE deleted = 1; +DELETE FROM mate_tool_guard_rule WHERE deleted = 1; +DELETE FROM mate_user WHERE deleted = 1; +DELETE FROM mate_wiki_chunk WHERE deleted = 1; +DELETE FROM mate_wiki_knowledge_base WHERE deleted = 1; +DELETE FROM mate_wiki_page WHERE deleted = 1; +DELETE FROM mate_wiki_raw_material WHERE deleted = 1; +DELETE FROM mate_workspace WHERE deleted = 1; +DELETE FROM mate_workspace_file WHERE deleted = 1; +DELETE FROM mate_workspace_member WHERE deleted = 1;