增加基于配置文件批量注册实例
This commit is contained in:
parent
c3638cb36b
commit
ae518d0c55
@ -14,6 +14,8 @@ import (
|
|||||||
"git.zhangdeman.cn/zhangdeman/util"
|
"git.zhangdeman.cn/zhangdeman/util"
|
||||||
utilDefine "git.zhangdeman.cn/zhangdeman/util/define"
|
utilDefine "git.zhangdeman.cn/zhangdeman/util/define"
|
||||||
"git.zhangdeman.cn/zhangdeman/wrapper"
|
"git.zhangdeman.cn/zhangdeman/wrapper"
|
||||||
|
"path"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -59,6 +61,34 @@ func (im *instanceManager) RegisterWithConfig(instanceConfig *define.Database) e
|
|||||||
//
|
//
|
||||||
// Date : 14:32 2023/7/31
|
// Date : 14:32 2023/7/31
|
||||||
func (im *instanceManager) RegisterWithConfigFile(configFileList []string) error {
|
func (im *instanceManager) RegisterWithConfigFile(configFileList []string) error {
|
||||||
|
for _, itemFile := range configFileList {
|
||||||
|
fileType := strings.ToLower(path.Ext(itemFile))
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
databaseConfig define.Database
|
||||||
|
)
|
||||||
|
|
||||||
|
switch fileType {
|
||||||
|
case "json":
|
||||||
|
err = util.File.ReadJSONContent(itemFile, &databaseConfig)
|
||||||
|
case "yaml":
|
||||||
|
fallthrough
|
||||||
|
case "yml":
|
||||||
|
err = util.File.ReadYmlContent(itemFile, &databaseConfig)
|
||||||
|
case "ini":
|
||||||
|
err = util.File.ReadIniContent(itemFile, &databaseConfig)
|
||||||
|
case "toml":
|
||||||
|
err = util.File.ReadTomlContent(itemFile, &databaseConfig)
|
||||||
|
default:
|
||||||
|
return errors.New(fileType + " : file type is not support")
|
||||||
|
}
|
||||||
|
if nil != err {
|
||||||
|
return errors.New(itemFile + " : config parse fail => " + err.Error())
|
||||||
|
}
|
||||||
|
if err = im.RegisterWithConfig(&databaseConfig); nil != err {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
go.mod
3
go.mod
@ -5,7 +5,7 @@ go 1.20
|
|||||||
require (
|
require (
|
||||||
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20230530101401-4326fad68c6f
|
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20230530101401-4326fad68c6f
|
||||||
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20230629110904-e1fd92d004ca
|
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20230629110904-e1fd92d004ca
|
||||||
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731074659-d9fac952a807
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731131005-e92246d28107
|
||||||
github.com/gin-gonic/gin v1.9.1
|
github.com/gin-gonic/gin v1.9.1
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2
|
github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2
|
||||||
@ -19,6 +19,7 @@ require (
|
|||||||
git.zhangdeman.cn/zhangdeman/easylock v0.0.0-20230731062340-983985c12eda // indirect
|
git.zhangdeman.cn/zhangdeman/easylock v0.0.0-20230731062340-983985c12eda // indirect
|
||||||
git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20230307094841-e437ba87af10 // indirect
|
git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20230307094841-e437ba87af10 // indirect
|
||||||
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af // indirect
|
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af // indirect
|
||||||
|
github.com/BurntSushi/toml v1.3.2 // indirect
|
||||||
github.com/Jeffail/gabs v1.4.0 // indirect
|
github.com/Jeffail/gabs v1.4.0 // indirect
|
||||||
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 // indirect
|
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 // indirect
|
||||||
github.com/bytedance/sonic v1.10.0-rc3 // indirect
|
github.com/bytedance/sonic v1.10.0-rc3 // indirect
|
||||||
|
4
go.sum
4
go.sum
@ -12,8 +12,12 @@ git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731073902-223d5ab37410 h1:5IDfSY1y
|
|||||||
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731073902-223d5ab37410/go.mod h1:94FAWQr3vB1ogydIZ+0aNhd+ai+CKgDVGK2q+yGmOzM=
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731073902-223d5ab37410/go.mod h1:94FAWQr3vB1ogydIZ+0aNhd+ai+CKgDVGK2q+yGmOzM=
|
||||||
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731074659-d9fac952a807 h1:BiYAlw9iZN5fhkrEoR5EpgxImBmV56rljO2o5v4G6vo=
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731074659-d9fac952a807 h1:BiYAlw9iZN5fhkrEoR5EpgxImBmV56rljO2o5v4G6vo=
|
||||||
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731074659-d9fac952a807/go.mod h1:94FAWQr3vB1ogydIZ+0aNhd+ai+CKgDVGK2q+yGmOzM=
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731074659-d9fac952a807/go.mod h1:94FAWQr3vB1ogydIZ+0aNhd+ai+CKgDVGK2q+yGmOzM=
|
||||||
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731131005-e92246d28107 h1:Edr/UlX9nW24L0T3cjllkUY0eEXaKGP7mRaPpM8RPQc=
|
||||||
|
git.zhangdeman.cn/zhangdeman/util v0.0.0-20230731131005-e92246d28107/go.mod h1:Szr4RTgooJChy8IyqL3izUUL3pl3jzike9tO7xvnCp0=
|
||||||
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af h1:Bm8YXIxodaSTBYwG/vRXswJ/zb9cKlMdxq5ElMjs9w4=
|
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af h1:Bm8YXIxodaSTBYwG/vRXswJ/zb9cKlMdxq5ElMjs9w4=
|
||||||
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af/go.mod h1:Zl2pqhTvNpr5SrKPfZ5JDt+FkyimxnYxLfpvTgaLG+c=
|
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230731092612-eb97a0b352af/go.mod h1:Zl2pqhTvNpr5SrKPfZ5JDt+FkyimxnYxLfpvTgaLG+c=
|
||||||
|
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
|
||||||
|
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||||
github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo=
|
github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo=
|
||||||
github.com/Jeffail/gabs v1.4.0/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc=
|
github.com/Jeffail/gabs v1.4.0/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc=
|
||||||
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ=
|
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ=
|
||||||
|
Loading…
Reference in New Issue
Block a user