Fix: Performance issues and sqlite locking (#74)

* fix: performance issues and sqlite locking

* fix: dashboard release stats was reversed

* refactor: open and migrate db

* chore: cleanup
This commit is contained in:
Ludvig Lundgren 2022-01-11 19:35:27 +01:00 committed by GitHub
parent d8c37dde2f
commit f466657ed4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 362 additions and 658 deletions

View file

@ -1,7 +1,6 @@
package database
import (
"database/sql"
"fmt"
)
@ -283,9 +282,12 @@ var migrations = []string{
`,
}
func Migrate(db *sql.DB) error {
func (db *SqliteDB) migrate() error {
db.lock.Lock()
defer db.lock.Unlock()
var version int
if err := db.QueryRow("PRAGMA user_version").Scan(&version); err != nil {
if err := db.handler.QueryRow("PRAGMA user_version").Scan(&version); err != nil {
return fmt.Errorf("failed to query schema version: %v", err)
}
@ -295,7 +297,7 @@ func Migrate(db *sql.DB) error {
return fmt.Errorf("autobrr (version %d) older than schema (version: %d)", len(migrations), version)
}
tx, err := db.Begin()
tx, err := db.handler.Begin()
if err != nil {
return err
}