MCPcopy Create free account
hub / github.com/53AI/53AIHub / cleanupDatabaseData

Method cleanupDatabaseData

api/service/cleanup_service.go:84–142  ·  view source on GitHub ↗

cleanupDatabaseData 清理数据库中的相关数据

(eid int64, fileID int64)

Source from the content-addressed store, hash-verified

82
83// cleanupDatabaseData 清理数据库中的相关数据
84func (s *CleanupService) cleanupDatabaseData(eid int64, fileID int64) error {
85 // 开启事务
86 tx := s.db.Begin()
87 defer func() {
88 if r := recover(); r != nil {
89 tx.Rollback()
90 }
91 }()
92
93 // 删除分块关联关系
94 err := tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.ChunkRelation{}).Error
95 if err != nil {
96 tx.Rollback()
97 return fmt.Errorf("删除分块关联关系失败: %v", err)
98 }
99
100 // 删除检索块
101 err = tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.RetrievalChunk{}).Error
102 if err != nil {
103 tx.Rollback()
104 return fmt.Errorf("删除检索块失败: %v", err)
105 }
106
107 // 删除文档分块
108 err = tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.DocumentChunk{}).Error
109 if err != nil {
110 tx.Rollback()
111 return fmt.Errorf("删除文档分块失败: %v", err)
112 }
113
114 // 删除操作日志
115 err = tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.ChunkOperationLog{}).Error
116 if err != nil {
117 tx.Rollback()
118 return fmt.Errorf("删除操作日志失败: %v", err)
119 }
120
121 // 删除文件内容
122 err = tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.FileBody{}).Error
123 if err != nil {
124 tx.Rollback()
125 return fmt.Errorf("删除文件内容失败: %v", err)
126 }
127
128 err = tx.Where("file_id = ?", fileID).Delete(&model.FileBodyVersion{}).Error
129 if err != nil {
130 tx.Rollback()
131 return fmt.Errorf("删除文件版本记录失败: %v", err)
132 }
133
134 err = tx.Where("eid = ? AND file_id = ?", eid, fileID).Delete(&model.EntityChunkRelation{}).Error
135 if err != nil {
136 tx.Rollback()
137 return fmt.Errorf("删除实体关联关系失败: %v", err)
138 }
139
140 // 提交事务
141 return tx.Commit().Error

Callers 1

Calls 2

ErrorfMethod · 0.80
DeleteMethod · 0.65

Tested by

no test coverage detected