From 937e5b5e8226aaad0afb9dccb7c57e24868ae0e5 Mon Sep 17 00:00:00 2001 From: engigu Date: Sun, 8 Mar 2026 23:09:29 +0800 Subject: [PATCH] chore: add notify tables #49 --- internal/services/backup_service.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/services/backup_service.go b/internal/services/backup_service.go index 9b7b6ca..3020b4f 100644 --- a/internal/services/backup_service.go +++ b/internal/services/backup_service.go @@ -55,6 +55,8 @@ func (s *BackupService) getTableConfigs() []tableConfig { {"tokens.json", s.exportTable(&[]models.AgentToken{}, true), s.restoreTable(&[]models.AgentToken{}, true)}, {"languages.json", s.exportTable(&[]models.Language{}, true), s.restoreTable(&[]models.Language{}, true)}, {"deps.json", s.exportTable(&[]models.Dependency{}, true), s.restoreTable(&[]models.Dependency{}, true)}, + {"notify_ways.json", s.exportTable(&[]models.NotifyWay{}, true), s.restoreTable(&[]models.NotifyWay{}, true)}, + {"notify_bindings.json", s.exportTable(&[]models.NotifyBinding{}, true), s.restoreTable(&[]models.NotifyBinding{}, true)}, } } @@ -212,8 +214,8 @@ func (s *BackupService) Restore(zipPath string) error { } } } - // } else { - // return fmt.Errorf("非法备份包:缺失版本标记") + // } else { + // return fmt.Errorf("非法备份包:缺失版本标记") } // 开启全局事务 @@ -231,6 +233,8 @@ func (s *BackupService) Restore(zipPath string) error { tx.Unscoped().Where("1=1").Delete(&models.AgentToken{}) tx.Unscoped().Where("1=1").Delete(&models.Language{}) tx.Unscoped().Where("1=1").Delete(&models.Dependency{}) + tx.Unscoped().Where("1=1").Delete(&models.NotifyWay{}) + tx.Unscoped().Where("1=1").Delete(&models.NotifyBinding{}) // 2. 依次恢复每个表 for _, cfg := range configs { @@ -332,6 +336,10 @@ func (s *BackupService) restoreFromZipFile(tx *gorm.DB, f *zip.File, filename st return restoreStreamBatch[models.Language](tx, decoder) case "deps.json": return restoreStreamBatch[models.Dependency](tx, decoder) + case "notify_ways.json": + return restoreStreamBatch[models.NotifyWay](tx, decoder) + case "notify_bindings.json": + return restoreStreamBatch[models.NotifyBinding](tx, decoder) default: return nil }