go-wxhelper/config/db.go
2024-01-19 12:06:30 +08:00

33 lines
1.2 KiB
Go

package config
import "fmt"
// db
// @description: 数据库配置
type db struct {
Type string `json:"type" yaml:"type" mapstructure:"type"` // 数据库类型
Host string `json:"host" yaml:"host" mapstructure:"host"` // 数据库地址
Port int `json:"port" yaml:"port" mapstructure:"port"` // 数据库端口
Username string `json:"username" yaml:"username" mapstructure:"username"` // 数据库用户名
Password string `json:"password" yaml:"password" mapstructure:"password"` // 数据库密码
Database string `json:"database" yaml:"database" mapstructure:"database"` // 数据库名称
}
// GetMysqlDSN
// @description: 获取MySQL连接DSN
// @receiver d
// @return string
func (d db) GetMysqlDSN() string {
return fmt.Sprintf("%s:%s@tcp(%s:%v)/%s?charset=utf8mb4&parseTime=True&loc=Local",
d.Username, d.Password, d.Host, d.Port, d.Database)
}
// GetPostgreSQLDSN
// @description: 获取PostgreSQL连接DSN
// @receiver d
// @return string
func (d db) GetPostgreSQLDSN() string {
return fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=disable TimeZone=Asia/Shanghai",
d.Host, d.Username, d.Password, d.Database, d.Port)
}