Files
mayfly-go/server/internal/db/dbm/dbi/meta.go

31 lines
668 B
Go
Raw Normal View History

package dbi
import "database/sql"
var (
metas = make(map[DbType]Meta)
)
// 注册数据库类型与dbmeta
func Register(dt DbType, meta Meta) {
metas[dt] = meta
}
// 根据数据库类型获取对应的Meta
func GetMeta(dt DbType) Meta {
return metas[dt]
}
2024-03-11 20:04:20 +08:00
// 数据库元信息如获取sql.DB、Dialect等
type Meta interface {
2024-01-13 13:38:53 +08:00
// 根据数据库信息获取sql.DB
GetSqlDb(*DbInfo) (*sql.DB, error)
2024-03-11 20:04:20 +08:00
// 获取数据库方言
GetDialect(*DbConn) Dialect
2024-03-15 13:31:53 +08:00
// 获取元数据信息接口
// @param *DbConn 数据库连接, 若一些元数据接口(如 GetIdentifierQuoteString不需要DbConn则可以传nil
GetMetaData(*DbConn) *MetaDataX
}