You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.5 KiB
Go

package config
import "fmt"
// Config custom config struct
type Config struct {
CfgBase `yaml:"base"`
MySQLInfo MysqlDbInfo `yaml:"mysql_info"`
OutDir string `yaml:"out_dir"`
Simple bool `yaml:"simple"`
IsJSONTag bool `yaml:"is_json_tag"`
SingularTable bool `yaml:"singular_table"`
IsForeignKey bool `yaml:"is_foreign_key"`
IsOutSQL bool `yaml:"is_out_sql"`
IsOutFunc bool `yaml:"is_out_func"`
}
// MysqlDbInfo mysql database information. mysql 数据库信息
type MysqlDbInfo struct {
Host string `validate:"required"` // Host. 地址
Port int `validate:"required"` // Port 端口号
Username string `validate:"required"` // Username 用户名
Password string // Password 密码
Database string `validate:"required"` // Database 数据库名
}
// SetMysqlDbInfo Update MySQL configuration information
func SetMysqlDbInfo(info *MysqlDbInfo) {
_map.MySQLInfo = *info
}
// GetMysqlDbInfo Get MySQL configuration information .获取mysql配置信息
func GetMysqlDbInfo() MysqlDbInfo {
return _map.MySQLInfo
}
// GetMysqlConStr Get MySQL connection string.获取mysql 连接字符串
func GetMysqlConStr() string {
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local&interpolateParams=true",
_map.MySQLInfo.Username,
_map.MySQLInfo.Password,
_map.MySQLInfo.Host,
_map.MySQLInfo.Port,
_map.MySQLInfo.Database,
)
}
// SetOutDir Setting Output Directory.设置输出目录
func SetOutDir(outDir string) {
_map.OutDir = outDir
}
// GetOutDir Get Output Directory.获取输出目录
func GetOutDir() string {
return _map.OutDir
}
// SetSingularTable Set Disabled Table Name Plurals.设置禁用表名复数
func SetSingularTable(b bool) {
_map.SingularTable = b
}
// GetSingularTable Get Disabled Table Name Plurals.获取禁用表名复数
func GetSingularTable() bool {
return _map.SingularTable
}
5 years ago
// GetSimple simple output.简单输出
5 years ago
func GetSimple() bool {
return _map.Simple
}
// GetIsJSONTag json tag.json标记
5 years ago
func GetIsJSONTag() bool {
return _map.IsJSONTag
5 years ago
}
// GetIsForeignKey if is foreign key
func GetIsForeignKey() bool {
return _map.IsForeignKey
}
// SetForeignKey Set if is foreign key.设置是否外键关联
func SetForeignKey(b bool) {
_map.IsForeignKey = b
}
// GetIsOutSQL if is output sql .
func GetIsOutSQL() bool {
return _map.IsOutSQL
}
// GetIsOutFunc if is output func .
func GetIsOutFunc() bool {
return _map.IsOutFunc
}
// SetIsOutFunc if is output func .
func SetIsOutFunc(b bool) {
_map.IsOutFunc = b
}