refactor(db): drop @TableLogic on all entities, purge soft-deleted rows

This commit is contained in:
matevip 2026-04-18 23:31:48 +08:00
parent 5aed6f176d
commit 762218cd32
30 changed files with 68 additions and 46 deletions

View File

@ -61,6 +61,5 @@ public class AgentEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -42,6 +42,5 @@ public class ToolApprovalEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -44,6 +44,5 @@ public class UserEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -49,6 +49,5 @@ public class ChannelEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -57,6 +57,5 @@ public class ChannelSessionEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -55,6 +55,5 @@ public class CronJobEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -62,6 +62,5 @@ public class DatasourceEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -61,6 +61,5 @@ public class ModelConfigEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -56,6 +56,5 @@ public class MemoryRecallEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -49,7 +49,6 @@ public class PlanEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
/** 子计划列表(非数据库字段,查询时填充) */

View File

@ -45,6 +45,5 @@ public class SubPlanEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -61,6 +61,5 @@ public class PluginEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -90,6 +90,5 @@ public class SkillEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -33,6 +33,5 @@ public class ToolGuardAuditLogEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -36,6 +36,5 @@ public class ToolGuardRuleEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -77,6 +77,5 @@ public class McpServerEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -55,6 +55,5 @@ public class ToolEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -57,6 +57,5 @@ public class WikiChunkEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -59,6 +59,5 @@ public class WikiKnowledgeBaseEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -54,6 +54,5 @@ public class WikiPageEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -73,6 +73,5 @@ public class WikiRawMaterialEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -54,6 +54,5 @@ public class ConversationEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -62,6 +62,5 @@ public class MessageEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -45,6 +45,5 @@ public class WorkspaceEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -43,6 +43,5 @@ public class WorkspaceMemberEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -42,6 +42,5 @@ public class WorkspaceFileEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@TableLogic
private Integer deleted;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;