chore: init db and aria2
This commit is contained in:
9
internal/bootstrap/aria2.go
Normal file
9
internal/bootstrap/aria2.go
Normal file
@ -0,0 +1,9 @@
|
||||
package bootstrap
|
||||
|
||||
import "github.com/alist-org/alist/v3/internal/aria2"
|
||||
|
||||
func InitAria2() {
|
||||
go func() {
|
||||
_ = aria2.InitClient(2)
|
||||
}()
|
||||
}
|
@ -1,15 +1,19 @@
|
||||
package bootstrap
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/alist-org/alist/v3/cmd/args"
|
||||
"github.com/alist-org/alist/v3/internal/conf"
|
||||
"github.com/alist-org/alist/v3/internal/db"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"gorm.io/gorm/schema"
|
||||
stdlog "log"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -29,11 +33,38 @@ func InitDB() {
|
||||
},
|
||||
Logger: newLogger,
|
||||
}
|
||||
var dB *gorm.DB
|
||||
var err error
|
||||
if args.Dev {
|
||||
dB, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), gormConfig)
|
||||
if err != nil {
|
||||
panic("failed to connect database")
|
||||
dB, err = gorm.Open(sqlite.Open("file::memory:?cache=shared"), gormConfig)
|
||||
} else {
|
||||
database := conf.Conf.Database
|
||||
switch database.Type {
|
||||
case "sqlite3":
|
||||
{
|
||||
if !(strings.HasSuffix(database.DBFile, ".db") && len(database.DBFile) > 3) {
|
||||
log.Fatalf("db name error.")
|
||||
}
|
||||
dB, err = gorm.Open(sqlite.Open(database.DBFile), gormConfig)
|
||||
}
|
||||
case "mysql":
|
||||
{
|
||||
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&tls=%s",
|
||||
database.User, database.Password, database.Host, database.Port, database.Name, database.SSLMode)
|
||||
dB, err = gorm.Open(mysql.Open(dsn), gormConfig)
|
||||
}
|
||||
case "postgres":
|
||||
{
|
||||
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=%s TimeZone=Asia/Shanghai",
|
||||
database.Host, database.User, database.Password, database.Name, database.Port, database.SSLMode)
|
||||
dB, err = gorm.Open(postgres.Open(dsn), gormConfig)
|
||||
}
|
||||
default:
|
||||
log.Fatalf("not supported database type: %s", database.Type)
|
||||
}
|
||||
db.Init(dB)
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("failed to connect database:%s", err.Error())
|
||||
}
|
||||
db.Init(dB)
|
||||
}
|
||||
|
Reference in New Issue
Block a user