shelfy/internal/db/db.go
2025-06-19 17:20:58 +02:00

47 lines
890 B
Go

package db
import (
"app/shelfly/internal/debridlink"
"app/shelfly/internal/download"
"app/shelfly/internal/models"
"fmt"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func InitDB() *gorm.DB {
dbName := "/app/shelfly_db/shelfly_db.db"
db, err := gorm.Open(sqlite.Open(dbName), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
db.AutoMigrate(
&models.User{},
&models.Files{},
&models.LibrarySection{},
&models.MediaItem{},
&models.MediaPart{},
&models.MetadataItem{},
&models.SectionLocation{},
&models.Tag{},
&models.Tagging{},
&models.PathDownload{},
&debridlink.File{},
&debridlink.Link{},
&debridlink.RSSFeed{},
&debridlink.RSSItem{},
&debridlink.Torrent{},
&debridlink.DebridAccount{},
&download.DownloadJob{},
)
fmt.Println("Connexion réussie à SQLite !")
fmt.Println("Auto migration terminée")
return db
}