alist/internal/bootstrap/db.go

40 lines
921 B
Go
Raw Normal View History

2022-06-25 13:34:44 +00:00
package bootstrap
import (
"github.com/alist-org/alist/v3/cmd/args"
"github.com/alist-org/alist/v3/internal/conf"
2022-06-25 13:36:35 +00:00
"github.com/alist-org/alist/v3/internal/db"
2022-06-25 13:34:44 +00:00
log "github.com/sirupsen/logrus"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/gorm/schema"
stdlog "log"
"time"
)
func InitDB() {
newLogger := logger.New(
stdlog.New(log.StandardLogger().Out, "\r\n", stdlog.LstdFlags),
logger.Config{
SlowThreshold: time.Second,
LogLevel: logger.Silent,
IgnoreRecordNotFoundError: true,
Colorful: true,
},
)
gormConfig := &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: conf.Conf.Database.TablePrefix,
},
Logger: newLogger,
}
if args.Dev {
2022-06-25 13:36:35 +00:00
dB, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), gormConfig)
2022-06-25 13:34:44 +00:00
if err != nil {
panic("failed to connect database")
}
2022-06-25 13:36:35 +00:00
db.Init(dB)
2022-06-25 13:34:44 +00:00
}
}