22 lines
1.7 KiB
Go
22 lines
1.7 KiB
Go
package config
|
|
|
|
type Mysql struct {
|
|
Prefix string `mapstructure:"prefix" json:"prefix" yaml:"prefix"` // 数据库前缀
|
|
Port string `mapstructure:"port" json:"port" yaml:"port"` // 数据库端口
|
|
Config string `mapstructure:"config" json:"config" yaml:"config"` // 高级配置
|
|
Dbname string `mapstructure:"db-name" json:"db-name" yaml:"db-name"` // 数据库名
|
|
User string `mapstructure:"user" json:"user" yaml:"user"` // 数据库账号
|
|
Password string `mapstructure:"password" json:"password" yaml:"password"` // 数据库密码
|
|
Host string `mapstructure:"host" json:"host" yaml:"host"` // 数据库地址
|
|
Engine string `mapstructure:"engine" json:"engine" yaml:"engine" default:"InnoDB"` // 数据库引擎,默认InnoDB
|
|
LogMode string `mapstructure:"log-mode" json:"log-mode" yaml:"log-mode"` // 是否开启Gorm全局日志
|
|
MaxIdleConns int `mapstructure:"max-idle-conns" json:"max-idle-conns" yaml:"max-idle-conns"` // 空闲中的最大连接数
|
|
MaxOpenConns int `mapstructure:"max-open-conns" json:"max-open-conns" yaml:"max-open-conns"` // 打开到数据库的最大连接数
|
|
Singular bool `mapstructure:"singular" json:"singular" yaml:"singular"` // 是否开启全局禁用复数,true表示开启
|
|
LogZap bool `mapstructure:"log-zap" json:"log-zap" yaml:"log-zap"` // 是否通过zap写入日志文件
|
|
}
|
|
|
|
func (m *Mysql) Dsn() string {
|
|
return m.User + ":" + m.Password + "@tcp(" + m.Host + ":" + m.Port + ")/" + m.Dbname + "?" + m.Config
|
|
}
|