fix backup empty tables
This commit is contained in:
+27
-6
@@ -40,6 +40,7 @@ func GetDb(exclude string) ([]byte, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
defer os.Remove(dbPath)
|
||||||
|
|
||||||
err = backupDb.AutoMigrate(
|
err = backupDb.AutoMigrate(
|
||||||
&model.Setting{},
|
&model.Setting{},
|
||||||
@@ -69,29 +70,50 @@ func GetDb(exclude string) ([]byte, error) {
|
|||||||
// Perform scans and handle errors
|
// Perform scans and handle errors
|
||||||
if err := db.Model(&model.Setting{}).Scan(&settings).Error; err != nil {
|
if err := db.Model(&model.Setting{}).Scan(&settings).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(settings) > 0 {
|
||||||
|
if err := backupDb.Save(settings).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.Tls{}).Scan(&tls).Error; err != nil {
|
if err := db.Model(&model.Tls{}).Scan(&tls).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(tls) > 0 {
|
||||||
|
if err := backupDb.Save(tls).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.Inbound{}).Scan(&inbound).Error; err != nil {
|
if err := db.Model(&model.Inbound{}).Scan(&inbound).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(inbound) > 0 {
|
||||||
|
if err := backupDb.Save(inbound).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.Outbound{}).Scan(&outbound).Error; err != nil {
|
if err := db.Model(&model.Outbound{}).Scan(&outbound).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(outbound) > 0 {
|
||||||
|
if err := backupDb.Save(outbound).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.Endpoint{}).Scan(&endpoint).Error; err != nil {
|
if err := db.Model(&model.Endpoint{}).Scan(&endpoint).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(endpoint) > 0 {
|
||||||
|
if err := backupDb.Save(endpoint).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.User{}).Scan(&users).Error; err != nil {
|
if err := db.Model(&model.User{}).Scan(&users).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
} else if len(users) > 0 {
|
||||||
|
if err := backupDb.Save(users).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err := db.Model(&model.Client{}).Scan(&clients).Error; err != nil {
|
if err := db.Model(&model.Client{}).Scan(&clients).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
} else if len(clients) > 0 {
|
||||||
|
if err := backupDb.Save(clients).Error; err != nil {
|
||||||
// Save each model
|
|
||||||
for _, mdl := range []interface{}{settings, tls, inbound, outbound, endpoint, users, clients} {
|
|
||||||
if err := backupDb.Save(mdl).Error; err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -132,7 +154,6 @@ func GetDb(exclude string) ([]byte, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
defer os.Remove(dbPath)
|
|
||||||
|
|
||||||
// Read the file contents
|
// Read the file contents
|
||||||
fileContents, err := io.ReadAll(file)
|
fileContents, err := io.ReadAll(file)
|
||||||
|
|||||||
Reference in New Issue
Block a user