package themes_database import ( "log" "autolibrary.top/webserver/backend/models/themes_model" "gorm.io/driver/sqlite" "gorm.io/gorm" ) var DB *gorm.DB 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 themes database: %v", err) return err } err = DB.AutoMigrate( &themes_model.Theme{}, ) if err != nil { log.Printf("[E] themes database migration failed: %v", err) return err } log.Printf("[I] themes 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 themes database connection: %v", err) return err } err = db.Close() if err != nil { log.Printf("[E] unable to close themes database connection: %v", err) return err } log.Printf("[I] themes database connection closed") return nil }