Files
mayfly-go/server/internal/db/config/config.go

92 lines
2.4 KiB
Go
Raw Normal View History

package config
2023-12-29 16:48:15 +08:00
import (
sysapp "mayfly-go/internal/sys/application"
"path/filepath"
"runtime"
2023-12-29 16:48:15 +08:00
)
const (
ConfigKeyDbSaveQuerySQL string = "DbSaveQuerySQL" // 数据库是否记录查询相关sql
ConfigKeyDbQueryMaxCount string = "DbQueryMaxCount" // 数据库查询的最大数量
2023-12-29 16:48:15 +08:00
ConfigKeyDbBackupRestore string = "DbBackupRestore" // 数据库备份
ConfigKeyDbMysqlBin string = "MysqlBin" // mysql可执行文件配置
ConfigKeyDbMariaDbBin string = "MariaDbBin" // mariadb可执行文件配置
)
// 获取数据库最大查询数量配置
func GetDbQueryMaxCount() int {
return sysapp.GetConfigApp().GetConfig(ConfigKeyDbQueryMaxCount).IntValue(200)
}
// 获取数据库是否记录查询相关sql配置
func GetDbSaveQuerySql() bool {
return sysapp.GetConfigApp().GetConfig(ConfigKeyDbSaveQuerySQL).BoolValue(false)
}
2023-12-29 16:48:15 +08:00
type DbBackupRestore struct {
BackupPath string // 备份文件路径呢
}
// 获取数据库备份配置
func GetDbBackupRestore() *DbBackupRestore {
c := sysapp.GetConfigApp().GetConfig(ConfigKeyDbBackupRestore)
jm := c.GetJsonMap()
dbrc := new(DbBackupRestore)
backupPath := jm["backupPath"]
if backupPath == "" {
backupPath = "./db/backup"
}
dbrc.BackupPath = filepath.Join(backupPath)
2023-12-29 16:48:15 +08:00
return dbrc
}
// mysql客户端可执行文件配置
type MysqlBin struct {
Path string // 可执行文件路径
MysqlPath string // mysql可执行文件路径
MysqldumpPath string // mysqldump可执行文件路径
MysqlbinlogPath string // mysqlbinlog可执行文件路径
}
// 获取数据库备份配置
func GetMysqlBin(configKey string) *MysqlBin {
c := sysapp.GetConfigApp().GetConfig(configKey)
2023-12-29 16:48:15 +08:00
jm := c.GetJsonMap()
mbc := new(MysqlBin)
path := jm["path"]
if path == "" {
path = "./db/mysql/bin"
2023-12-29 16:48:15 +08:00
}
mbc.Path = filepath.Join(path)
2023-12-29 16:48:15 +08:00
var extName string
if runtime.GOOS == "windows" {
extName = ".exe"
}
2023-12-29 16:48:15 +08:00
mysqlPath := jm["mysql"]
if mysqlPath == "" {
mysqlPath = filepath.Join(path, "mysql"+extName)
2023-12-29 16:48:15 +08:00
}
mbc.MysqlPath = filepath.Join(mysqlPath)
2023-12-29 16:48:15 +08:00
mysqldumpPath := jm["mysqldump"]
if mysqldumpPath == "" {
mysqldumpPath = filepath.Join(path, "mysqldump"+extName)
2023-12-29 16:48:15 +08:00
}
mbc.MysqldumpPath = filepath.Join(mysqldumpPath)
2023-12-29 16:48:15 +08:00
mysqlbinlogPath := jm["mysqlbinlog"]
if mysqlbinlogPath == "" {
mysqlbinlogPath = filepath.Join(path, "mysqlbinlog"+extName)
2023-12-29 16:48:15 +08:00
}
mbc.MysqlbinlogPath = filepath.Join(mysqlbinlogPath)
2023-12-29 16:48:15 +08:00
return mbc
}