package global import ( "fmt" "electricity_bill_calc/config" "gorm.io/driver/postgres" "gorm.io/gorm" ) var ( DBConn *gorm.DB ) func SetupDatabaseConnection() error { var err error DBConn, err = gorm.Open(postgres.New(postgres.Config{ DSN: fmt.Sprintf( "host=%s user=%s password=%s dbname=%s port=%d sslmode=disable TimeZone=Asia/Shanghai", config.DatabaseSettings.Host, config.DatabaseSettings.User, config.DatabaseSettings.Pass, config.DatabaseSettings.DB, config.DatabaseSettings.Port), }), &gorm.Config{}) if err != nil { return err } db, err := DBConn.DB() if err != nil { return err } db.SetMaxIdleConns(config.DatabaseSettings.MaxIdleConns) db.SetMaxOpenConns(config.DatabaseSettings.MaxOpenConns) return nil }