Files

55 lines
1022 B
Go

package versions_database
import (
"log"
"autolibrary.top/webserver/backend/models/versions_model"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
var DB *gorm.DB // global versions database instance
func InitDB(dsn string) error {
var err error
DB, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{})
if err != nil {
log.Printf("[E] unable to connect to versions database: %v", err)
return err
}
err = DB.AutoMigrate(
&versions_model.DownloadVersion{},
)
if err != nil {
log.Printf("[E] versions database migration failed: %v", err)
return err
}
log.Printf("[I] versions database initialization completed")
return nil
}
func CloseDB() error {
if DB == nil {
return nil
}
db, err := DB.DB()
if err != nil {
log.Printf("[E] unable to get versions database connection: %v", err)
return err
}
err = db.Close()
if err != nil {
log.Printf("[E] unable to close versions database connection: %v", err)
return err
}
log.Printf("[I] versions database connection closed")
return nil
}