Upgrade to Beego 2's orm

This commit is contained in:
Deluan
2022-07-30 12:43:48 -04:00
parent 16afd3a490
commit 695f82a1a0
31 changed files with 56 additions and 105 deletions
+7 -24
View File
@@ -5,14 +5,14 @@ import (
"database/sql"
"reflect"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/db"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
)
type SQLStore struct {
orm orm.Ormer
orm orm.QueryExecutor
db *sql.DB
}
@@ -106,27 +106,10 @@ func (s *SQLStore) WithTx(block func(tx model.DataStore) error) error {
if err != nil {
return err
}
err = o.Begin()
if err != nil {
return err
}
newDb := &SQLStore{orm: o}
err = block(newDb)
if err != nil {
err2 := o.Rollback()
if err2 != nil {
return err2
}
return err
}
err2 := o.Commit()
if err2 != nil {
return err2
}
return nil
return o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
newDb := &SQLStore{orm: txOrm}
return block(newDb)
})
}
func (s *SQLStore) GC(ctx context.Context, rootFolder string) error {
@@ -182,7 +165,7 @@ func (s *SQLStore) GC(ctx context.Context, rootFolder string) error {
return err
}
func (s *SQLStore) getOrmer() orm.Ormer {
func (s *SQLStore) getOrmer() orm.QueryExecutor {
if s.orm == nil {
o, err := orm.NewOrmWithDB(db.Driver, "default", s.db)
if err != nil {