fix: skip target database check for cluster restores

- Cluster restores restore multiple databases, not a single target
- Database existence check was failing with exit status 2
- Now shows "Will restore all databases from cluster backup" instead
- Removes confusing warning for cluster restore operations
This commit is contained in:
2025-11-07 10:18:39 +00:00
parent de13fdfafd
commit 07400f2828
3 changed files with 19 additions and 12 deletions

BIN
dbbackup

Binary file not shown.

Binary file not shown.

View File

@ -146,7 +146,8 @@ func runSafetyChecks(cfg *config.Config, log logger.Logger, archive ArchiveInfo,
}
checks = append(checks, check)
// 4. Target database check
// 4. Target database check (skip for cluster restores)
if !archive.Format.IsClusterBackup() {
check = SafetyCheck{Name: "Target database", Status: "checking", Critical: false}
exists, err := safety.CheckDatabaseExists(ctx, targetDB)
if err != nil {
@ -160,6 +161,12 @@ func runSafetyChecks(cfg *config.Config, log logger.Logger, archive ArchiveInfo,
check.Message = fmt.Sprintf("Database '%s' does not exist - will be created", targetDB)
}
checks = append(checks, check)
} else {
// For cluster restores, just show a general message
check = SafetyCheck{Name: "Cluster restore", Status: "passed", Critical: false}
check.Message = "Will restore all databases from cluster backup"
checks = append(checks, check)
}
return safetyCheckCompleteMsg{checks: checks, canProceed: canProceed}
}