```
feat(database): 新增数据库初始化函数 新增 NewDatabase 函数,支持根据驱动类型初始化 MySQL 或 Postgres 数据库连接。 该函数根据传入的驱动名称自动路由到对应的数据库连接创建逻辑,并提供错误处理。 ```
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/database/sql"
|
||||
"git.apinb.com/bsm-sdk/core/types"
|
||||
"git.apinb.com/bsm-sdk/core/vars"
|
||||
@@ -12,6 +15,24 @@ var (
|
||||
MigrateTables []any
|
||||
)
|
||||
|
||||
func NewDatabase(driver string, dsn []string, options *types.SqlOptions) (db *gorm.DB, err error) {
|
||||
driver = strings.ToLower(driver)
|
||||
switch driver {
|
||||
case "mysql":
|
||||
db, err = NewMysql(dsn, options)
|
||||
case "postgres":
|
||||
db, err = NewPostgres(dsn, options)
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported database driver: %s", driver)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
// NewMysql 创建MySQL数据库服务
|
||||
func NewMysql(dsn []string, options *types.SqlOptions) (gormDb *gorm.DB, err error) {
|
||||
//set connection default val.
|
||||
|
||||
Reference in New Issue
Block a user