feat: refact id column define

This commit is contained in:
engigu
2026-03-03 17:25:38 +08:00
parent 117ae126f7
commit 4589c64923
62 changed files with 881 additions and 454 deletions
+19 -1
View File
@@ -158,7 +158,7 @@ func (s *BackupService) CreateBackup() (string, error) {
// 写入元数据信息
sysInfo := map[string]interface{}{
"version": "v2",
"version": "v3",
"ts": time.Now().Format("2006-01-02 15:04:05"),
}
sysFile, err := zipWriter.Create("__sys__.json")
@@ -197,6 +197,24 @@ func (s *BackupService) Restore(zipPath string) error {
fileMap[f.Name] = f
}
// 校验版本
if f, ok := fileMap["__sys__.json"]; ok {
rc, err := f.Open()
if err == nil {
var sysInfo map[string]interface{}
json.NewDecoder(rc).Decode(&sysInfo)
rc.Close()
if v, ok := sysInfo["version"]; ok {
vs, _ := v.(string)
if vs < "v3" {
return fmt.Errorf("只能数据随版本升级上来,当前备份版本为 %s,限制 v3 以下的不能导入", vs)
}
}
}
// } else {
// return fmt.Errorf("非法备份包:缺失版本标记")
}
// 开启全局事务
return database.DB.Transaction(func(tx *gorm.DB) error {
// 1. 清空现有数据(物理删除)