package bulletins_database import ( "log" "autolibrary.top/webserver/backend/models/bulletins_model" "gorm.io/driver/sqlite" "gorm.io/gorm" ) var DB *gorm.DB // global bulletins 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 bulletins database: %v", err) return err } err = DB.AutoMigrate( &bulletins_model.Bulletin{}, ) if err != nil { log.Printf("[E] bulletins database migration failed: %v", err) return err } log.Printf("[I] bulletins database initialization completed") return nil } func CloseDB() error { sqlDB, err := DB.DB() if err != nil { log.Printf("[E] unable to get bulletins database connection: %v", err) return err } err = sqlDB.Close() if err != nil { log.Printf("[E] unable to close bulletins database connection: %v", err) return err } log.Printf("[I] bulletins database connection closed") return nil }