refactor:

- source 初始化数据 new 实现
- service mysql 与 pgsql 分开实现
- 代码备注优化
This commit is contained in:
SliverHorn
2021-11-16 02:02:21 +08:00
parent f19e719cbb
commit b12a18a693
23 changed files with 1258 additions and 162 deletions
+55
View File
@@ -1,5 +1,10 @@
package request
import (
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/config"
)
type InitDB struct {
DBType string `json:"DBType"` // 数据库类型
Host string `json:"host"` // 服务器地址
@@ -8,3 +13,53 @@ type InitDB struct {
Password string `json:"password"` // 数据库密码
DBName string `json:"dbName" binding:"required"` // 数据库名
}
// MysqlEmptyDsn msyql 空数据库 建库链接
// Author SliverHorn
func (i *InitDB) MysqlEmptyDsn() string {
if i.Host == "" {
i.Host = "127.0.0.1"
}
if i.Port == "" {
i.Port = "3306"
}
return fmt.Sprintf("%s:%s@tcp(%s:%s)/", i.UserName, i.Password, i.Host, i.Port)
}
// PgsqlEmptyDsn pgsql 空数据库 建库链接
// Author SliverHorn
func (i *InitDB) PgsqlEmptyDsn() string {
if i.Host == "" {
i.Host = "127.0.0.1"
}
if i.Port == "" {
i.Port = "3306"
}
return "host=" + i.Host + " user=" + i.UserName + " password=" + i.Password + " port=" + i.Port + " " + "sslmode=disable TimeZone=Asia/Shanghai"
}
// ToMysqlConfig 转换 config.Mysql
// Author [SliverHorn](https://github.com/SliverHorn)
func (i *InitDB) ToMysqlConfig() config.Mysql {
return config.Mysql{
Path: i.Host,
Port: i.Port,
Dbname: i.DBName,
Username: i.UserName,
Password: i.Password,
Config: "charset=utf8mb4&parseTime=True&loc=Local",
}
}
// ToPgsqlConfig 转换 config.Pgsql
// Author [SliverHorn](https://github.com/SliverHorn)
func (i *InitDB) ToPgsqlConfig() config.Pgsql {
return config.Pgsql{
Path: i.Host,
Port: i.Port,
Dbname: i.DBName,
Username: i.UserName,
Password: i.Password,
Config: "sslmode=disable TimeZone=Asia/Shanghai",
}
}