ft-sync/store/database/database.go
Simon Vieille 3af050caa0 add gorm
add history init/pull/push
2024-08-28 20:36:03 +02:00

40 lines
735 B
Go

package database
import (
"log"
config "gitnet.fr/deblan/freetube-sync/config/server"
"gitnet.fr/deblan/freetube-sync/model"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
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{})
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{})
}