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 }