Merge pull request #805 from kraitsura/feature/bd-doctor-enhancements
feat: Enhance bd doctor with force repair and source selection
This commit is contained in:
@@ -48,6 +48,8 @@ var (
|
||||
doctorOutput string // export diagnostics to file
|
||||
doctorFixChildParent bool // opt-in fix for child→parent deps
|
||||
doctorVerbose bool // show detailed output during fixes
|
||||
doctorForce bool // force repair mode, bypass validation where safe
|
||||
doctorSource string // source of truth selection: auto, jsonl, db
|
||||
perfMode bool
|
||||
checkHealthMode bool
|
||||
doctorCheckFlag string // run specific check (e.g., "pollution")
|
||||
@@ -117,6 +119,8 @@ Examples:
|
||||
bd doctor --fix --yes # Automatically fix issues (no confirmation)
|
||||
bd doctor --fix -i # Confirm each fix individually
|
||||
bd doctor --fix --fix-child-parent # Also fix child→parent deps (opt-in)
|
||||
bd doctor --fix --force # Force repair even when database can't be opened
|
||||
bd doctor --fix --source=jsonl # Rebuild database from JSONL (source of truth)
|
||||
bd doctor --dry-run # Preview what --fix would do without making changes
|
||||
bd doctor --perf # Performance diagnostics
|
||||
bd doctor --output diagnostics.json # Export diagnostics to file
|
||||
@@ -219,6 +223,8 @@ func init() {
|
||||
doctorCmd.Flags().BoolVar(&doctorDryRun, "dry-run", false, "Preview fixes without making changes")
|
||||
doctorCmd.Flags().BoolVar(&doctorFixChildParent, "fix-child-parent", false, "Remove child→parent dependencies (opt-in)")
|
||||
doctorCmd.Flags().BoolVarP(&doctorVerbose, "verbose", "v", false, "Show detailed output during fixes (e.g., list each removed dependency)")
|
||||
doctorCmd.Flags().BoolVar(&doctorForce, "force", false, "Force repair mode: attempt recovery even when database cannot be opened")
|
||||
doctorCmd.Flags().StringVar(&doctorSource, "source", "auto", "Choose source of truth for recovery: auto (detect), jsonl (prefer JSONL), db (prefer database)")
|
||||
}
|
||||
|
||||
func runDiagnostics(path string) doctorResult {
|
||||
|
||||
Reference in New Issue
Block a user