Opt: remove redundant code

pull/119/head
zijiren233 2 years ago
parent c9f90a8d9d
commit 33ab4dbee7

@ -4,6 +4,7 @@ import (
"context"
"database/sql"
"fmt"
"strings"
"time"
log "github.com/sirupsen/logrus"
@ -81,7 +82,23 @@ func createDialector(dbConf conf.DatabaseConfig) (dialector gorm.Dialector, err
SkipInitializeWithVersion: false,
})
case conf.DatabaseTypeSqlite3:
dialector = newSqliteDialector(dbConf)
if dbConf.CustomDSN != "" {
dsn = dbConf.CustomDSN
} else if dbConf.Name == "memory" || strings.HasPrefix(dbConf.Name, ":memory:") {
dsn = "file::memory:?cache=shared&_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)"
log.Infof("sqlite3 database memory")
} else {
if !strings.HasSuffix(dbConf.Name, ".db") {
dbConf.Name = dbConf.Name + ".db"
}
dbConf.Name, err = utils.OptFilePath(dbConf.Name)
if err != nil {
log.Fatalf("sqlite3 database file path error: %v", err)
}
dsn = fmt.Sprintf("%s?_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)", dbConf.Name)
log.Infof("sqlite3 database file: %s", dbConf.Name)
}
dialector = openSqlite(dsn)
case conf.DatabaseTypePostgres:
if dbConf.CustomDSN != "" {
dsn = dbConf.CustomDSN

@ -4,34 +4,10 @@
package bootstrap
import (
"fmt"
"strings"
"github.com/glebarez/sqlite"
log "github.com/sirupsen/logrus"
"github.com/synctv-org/synctv/internal/conf"
"github.com/synctv-org/synctv/utils"
"gorm.io/gorm"
)
func newSqliteDialector(dbConf conf.DatabaseConfig) gorm.Dialector {
var dsn string
if dbConf.CustomDSN != "" {
dsn = dbConf.CustomDSN
} else if dbConf.Name == "memory" || strings.HasPrefix(dbConf.Name, ":memory:") {
dsn = "file::memory:?cache=shared&_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)"
log.Infof("sqlite3 database memory")
} else {
if !strings.HasSuffix(dbConf.Name, ".db") {
dbConf.Name = dbConf.Name + ".db"
}
var err error
dbConf.Name, err = utils.OptFilePath(dbConf.Name)
if err != nil {
log.Fatalf("sqlite3 database file path error: %v", err)
}
dsn = fmt.Sprintf("%s?_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)", dbConf.Name)
log.Infof("sqlite3 database file: %s", dbConf.Name)
}
func openSqlite(dsn string) gorm.Dialector {
return sqlite.Open(dsn)
}

@ -4,34 +4,10 @@
package bootstrap
import (
"fmt"
"strings"
log "github.com/sirupsen/logrus"
"github.com/synctv-org/synctv/internal/conf"
"github.com/synctv-org/synctv/utils"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func newSqliteDialector(dbConf conf.DatabaseConfig) gorm.Dialector {
var dsn string
if dbConf.CustomDSN != "" {
dsn = dbConf.CustomDSN
} else if dbConf.Name == "memory" || strings.HasPrefix(dbConf.Name, ":memory:") {
dsn = "file::memory:?cache=shared&_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)"
log.Infof("sqlite3 database memory")
} else {
if !strings.HasSuffix(dbConf.Name, ".db") {
dbConf.Name = dbConf.Name + ".db"
}
var err error
dbConf.Name, err = utils.OptFilePath(dbConf.Name)
if err != nil {
log.Fatalf("sqlite3 database file path error: %v", err)
}
dsn = fmt.Sprintf("%s?_journal_mode=WAL&_vacuum=incremental&_pragma=foreign_keys(1)", dbConf.Name)
log.Infof("sqlite3 database file: %s", dbConf.Name)
}
func openSqlite(dsn string) gorm.Dialector {
return sqlite.Open(dsn)
}

Loading…
Cancel
Save