ft-sync/store/database/database.go
Simon Vieille 3fd4f19009 server: add verbosity level
server: remove filename from log (fix #1)
2024-09-01 23:49:08 +02:00

55 lines
1.1 KiB
Go

package database
import (
"log"
"os"
"time"
config "gitnet.fr/deblan/freetube-sync/config/server"
"gitnet.fr/deblan/freetube-sync/logger"
"gitnet.fr/deblan/freetube-sync/model"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
lg "gorm.io/gorm/logger"
)
type Manager struct {
Db *gorm.DB
}
var manager *Manager
func GetManager() *Manager {
if manager == nil {
manager = &Manager{}
db, err := gorm.Open(sqlite.Open(config.GetConfig().DbPath), &gorm.Config{
Logger: logger.New(
log.New(os.Stdout, "\r\n", log.LstdFlags),
lg.Config{
SlowThreshold: time.Second,
LogLevel: lg.LogLevel(config.GetConfig().LogLevel),
IgnoreRecordNotFoundError: true,
ParameterizedQueries: true,
Colorful: true,
},
),
})
if err != nil {
log.Fatal(err)
}
manager.Db = db
}
return manager
}
func (m *Manager) AutoMigrate() {
m.Db.AutoMigrate(&model.Pull{})
m.Db.AutoMigrate(&model.WatchedVideo{})
m.Db.AutoMigrate(&model.PlaylistVideo{})
m.Db.AutoMigrate(&model.Subscription{})
m.Db.AutoMigrate(&model.Playlist{})
m.Db.AutoMigrate(&model.Profile{})
}