grim/wasdead

eb431873f7e8
Parents d1fe5f94e2b3
Children 81d77ff37d53
Try to salvage a run by moving the database out of the way
  • +16 -1
    run/run.go
  • --- a/run/run.go Sat Sep 26 04:50:23 2020 -0500
    +++ b/run/run.go Sat Sep 26 04:56:45 2020 -0500
    @@ -35,7 +35,22 @@
    func (r *RunCmd) Run(g *globals.Globals) error {
    if err := database.Open(g.DatabasePath); err != nil {
    - return fmt.Errorf("failed to open database: %v", err)
    + log.Errorf("failed to open database: %v", err)
    +
    + bak := fmt.Sprintf("%s.bak", g.DatabasePath)
    + log.Errorf("moving database to %s to attempt to startup", bak)
    +
    + if err := os.Rename(g.DatabasePath, bak); err != nil {
    + log.Errorf("failed to move the database out of the way: %v", err)
    +
    + return err
    + }
    +
    + if err := database.Open(bak); err != nil {
    + log.Errorf("failed to open the database after moving the old copy out of the way: %v", err)
    +
    + return err
    + }
    }
    defer database.Close()