mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-02 23:40:24 +08:00
27 lines
511 B
Go
27 lines
511 B
Go
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]
|
||
}
|
||
|
||
// 数据库元信息获取,如获取sql.DB、Dialect等
|
||
type Meta interface {
|
||
// 根据数据库信息获取sql.DB
|
||
GetSqlDb(*DbInfo) (*sql.DB, error)
|
||
|
||
// 获取数据库方言,用于获取表结构等信息
|
||
GetDialect(*DbConn) Dialect
|
||
}
|