You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
277 B
19 lines
277 B
2 years ago
|
package dbresolver
|
||
|
|
||
|
import (
|
||
|
"math/rand"
|
||
|
|
||
|
"gorm.io/gorm"
|
||
|
)
|
||
|
|
||
|
type Policy interface {
|
||
|
Resolve([]gorm.ConnPool) gorm.ConnPool
|
||
|
}
|
||
|
|
||
|
type RandomPolicy struct {
|
||
|
}
|
||
|
|
||
|
func (RandomPolicy) Resolve(connPools []gorm.ConnPool) gorm.ConnPool {
|
||
|
return connPools[rand.Intn(len(connPools))]
|
||
|
}
|