mirror of
https://github.com/wonli/aqi.git
synced 2024-06-28 09:57:05 +08:00
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"net/url"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
type SqlServer struct {
|
||
|
Host string `yaml:"host"`
|
||
|
Port int `yaml:"port"`
|
||
|
User string `yaml:"user"`
|
||
|
Pwd string `yaml:"pwd"`
|
||
|
Database string `yaml:"database"`
|
||
|
Prefix string `yaml:"prefix"`
|
||
|
Encrypt string `yaml:"encrypt"`
|
||
|
LogLevel int `yaml:"logLevel"`
|
||
|
TrustServerCertificate string `yaml:"trustServerCertificate"`
|
||
|
Idle int `yaml:"idle"`
|
||
|
IdleTime time.Duration `yaml:"idleTime"`
|
||
|
MaxLifetime time.Duration `yaml:"maxLifetime"` // Maximum time a connection can be reused
|
||
|
MaxOpen int `yaml:"maxOpen"`
|
||
|
}
|
||
|
|
||
|
func (m *SqlServer) GetDsn() string {
|
||
|
return fmt.Sprintf("sqlserver://%s:%s@%s:%d?database=%s&encrypt=%s&trustServerCertificate=%s",
|
||
|
m.User,
|
||
|
url.QueryEscape(m.Pwd),
|
||
|
m.Host,
|
||
|
m.Port,
|
||
|
m.Database,
|
||
|
m.Encrypt,
|
||
|
m.TrustServerCertificate,
|
||
|
)
|
||
|
}
|