迁移结构体面向接口实现 - 保存代码

This commit is contained in:
2024-08-20 17:42:36 +08:00
parent b10a55f62d
commit 5024ae4238
5 changed files with 147 additions and 86 deletions

View File

@ -0,0 +1,24 @@
// Package abstract ...
//
// Description : abstract ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-08-20 17:17
package abstract
import (
"context"
)
// IManager 接口 => sql 数据管理实例约束
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 17:17 2024/8/20
type IManager interface {
// SetDatabaseClient 设置数据库连接的客户端
SetDatabaseClient(database IWrapperClient)
// Execute 执行
Execute(ctx context.Context, databaseFlag string) (any, error)
}

View File

@ -0,0 +1,27 @@
// Package abstract ...
//
// Description : abstract ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2024-08-20 17:26
package abstract
import (
"git.zhangdeman.cn/zhangdeman/database/define"
"go.uber.org/zap"
)
// IWrapperClient 包装的客户端
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 17:26 2024/8/20
type IWrapperClient interface {
// AddWithConfigFile 通过配置文件增加数据库实例
AddWithConfigFile(cfgFilePath string, logInstance *zap.Logger, extraFieldList []string) error
// AddWithConfig 通过具体的配置增加数据库实例
AddWithConfig(flag string, logInstance *zap.Logger, databaseConfig *define.Database, extraFieldList []string) error
// BatchAddWithConfigDir 通过具体的配置列表增加数据库实例
BatchAddWithConfigDir(cfgDir string, logInstance *zap.Logger, extraFieldList []string) error
}