Skip to content

Commit

Permalink
Close database after migrating. Add reset errors (#215)
Browse files Browse the repository at this point in the history
  • Loading branch information
WithoutPants authored and Leopere committed Nov 17, 2019
1 parent 6a75d55 commit 6dcb270
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
18 changes: 15 additions & 3 deletions pkg/database/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package database

import (
"database/sql"
"errors"
"fmt"
"os"
"regexp"
Expand Down Expand Up @@ -38,10 +39,20 @@ func Initialize(databasePath string) {
DB = conn
}

func Reset(databasePath string) {
_ = DB.Close()
_ = os.Remove(databasePath)
func Reset(databasePath string) error {
err := DB.Close()

if err != nil {
return errors.New("Error closing database: " + err.Error())
}

err = os.Remove(databasePath)
if err != nil {
return errors.New("Error removing database: " + err.Error())
}

Initialize(databasePath)
return nil
}

// Migrate the database
Expand Down Expand Up @@ -71,6 +82,7 @@ func runMigrations(databasePath string) {
panic(err.Error())
}
}
m.Close()
}

func registerRegexpFunc() {
Expand Down
14 changes: 10 additions & 4 deletions pkg/manager/task_import.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@ package manager
import (
"context"
"database/sql"
"strconv"
"sync"
"time"

"github.com/jmoiron/sqlx"
"github.com/stashapp/stash/pkg/database"
"github.com/stashapp/stash/pkg/logger"
"github.com/stashapp/stash/pkg/manager/config"
"github.com/stashapp/stash/pkg/manager/jsonschema"
"github.com/stashapp/stash/pkg/models"
"github.com/stashapp/stash/pkg/utils"
"strconv"
"sync"
"time"
)

type ImportTask struct {
Expand All @@ -34,7 +35,12 @@ func (t *ImportTask) Start(wg *sync.WaitGroup) {
}
t.Scraped = scraped

database.Reset(config.GetDatabasePath())
err := database.Reset(config.GetDatabasePath())

if err != nil {
logger.Errorf("Error resetting database: %s", err.Error())
return
}

ctx := context.TODO()

Expand Down

0 comments on commit 6dcb270

Please sign in to comment.