refactor: dbm重构、调整metadata与dialect接口

This commit is contained in:
meilin.huang
2024-11-01 17:27:22 +08:00
parent af14be9801
commit 74ae031853
36 changed files with 1216 additions and 1384 deletions

View File

@@ -9,9 +9,8 @@ import (
"strings"
)
// 元数据接口(表、列、等元信息)
type MetaData interface {
BaseMetaData
// Metadata 元数据接口(表、列、等元信息)
type Metadata interface {
// GetDbServer 获取数据库服务实例信息
GetDbServer() (*DbServer, error)
@@ -19,6 +18,12 @@ type MetaData interface {
// GetCompatibleDbVersion 获取兼容版本信息,如果有兼容版本,则需要实现对应版本的特殊方言处理器,以及前端的方言兼容版本
GetCompatibleDbVersion() DbVersion
// GetDefaultDb 获取默认库
GetDefaultDb() string
// GetSchemas
GetSchemas() ([]string, error)
// GetDbNames 获取数据库名称列表
GetDbNames() ([]string, error)
@@ -36,17 +41,18 @@ type MetaData interface {
// GetTableDDL 获取建表ddl
GetTableDDL(tableName string, dropBeforeCreate bool) (string, error)
}
// GenerateTableDDL 生成建表ddl
GenerateTableDDL(columns []Column, tableInfo Table, dropBeforeCreate bool) []string
// 默认实现若需要覆盖则由各个数据库MetaData实现去覆盖重写
type DefaultMetadata struct {
}
// GenerateIndexDDL 生成索引ddl
GenerateIndexDDL(indexs []Index, tableInfo Table) []string
func (dd *DefaultMetadata) GetCompatibleDbVersion() DbVersion {
return ""
}
GetSchemas() ([]string, error)
// GetDataHelper 获取数据处理助手 用于解析格式化列数据等
GetDataHelper() DataHelper
func (dd *DefaultMetadata) GetDefaultDb() string {
return ""
}
// GenerateSQLStepFunc 生成insert sql的step函数用于生成insert sql时每生成100条sql时调用